sql 不是聚合函数的字段不gounby可以吗

qq_27561573 2016-06-03 09:51:49
能写个吗


select
u.puserid as puserid,
u.username as username,
m.reserved3 as reserved3,
u.extend as extend,
to_char(m.deal_time, 'YYYY-MM-DD') datetime,
count(distinct(m.id)) as receive
from
a r, b m, c u
group by u.puserid, m.deal_time, u.username, m.reserved3,u.extend
...全文
494 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingtiy 2016-06-03
  • 打赏
  • 举报
回复
不想group by 那么多字段,可以先group by key字段. 出了结果,再去关联属性字段.
qq_27561573 2016-06-03
  • 打赏
  • 举报
回复
我想把不是聚合的不放到group by里
中国风 2016-06-03
  • 打赏
  • 举报
回复
to_char(m.deal_time, 'YYYY-MM-DD')--放在group by 里
中国风 2016-06-03
  • 打赏
  • 举报
回复
不行,只有mysql可这样用,但多表联接时会存在不可预知的结果,你的语句可改为

select
    u.puserid as puserid,
      u.username as username,   
      m.reserved3 as reserved3,
      u.extend as extend,
      to_char(m.deal_time, 'YYYY-MM-DD') datetime,
      count(distinct(m.id)) as receive
from
  a  r, b  m, c  u
 group by u.puserid,to_char(m.deal_time, 'YYYY-MM-DD'), u.username, m.reserved3,u.extend
gw6328 2016-06-03
  • 打赏
  • 举报
回复
说明你没有理解到group by .理解了就明白不能,就算一样的内容,也是用group by 或者 max() min()这些方法来取。

590

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧