GROUP BY 的问题

fjliningcd 2004-03-31 08:34:28
SELECT DutyName,PhaseName,VersionID FROM T_TaskEffectSource GROUP BY DutyName,PhaseName
...全文
38 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuichangliu 2004-03-31
  • 打赏
  • 举报
回复

SELECT DutyName,PhaseName,VersionID FROM T_TaskEffectSource
GROUP BY DutyName,PhaseName,VersionID
progress99 2004-03-31
  • 打赏
  • 举报
回复
如果字段沒在聚合函数中,再一定要在group by 中
SELECT DutyName,PhaseName,VersionID
FROM T_TaskEffectSource
GROUP BY DutyName,PhaseName,VersionID


SELECT DutyName,PhaseName,MAX(VersionID) AS VersionID
FROM T_TaskEffectSource
GROUP BY DutyName,PhaseName

SELECT DutyName,PhaseName,Min(VersionID) AS VersionID --可根據需求是其他聚合函数
FROM T_TaskEffectSource
GROUP BY DutyName,PhaseName


zjcxc 2004-03-31
  • 打赏
  • 举报
回复
--这是SQL的规定,如果使用了group by
那么在select中出现的字段,要么放在聚合函数中,要么放在group by中
zjcxc 2004-03-31
  • 打赏
  • 举报
回复
SELECT DutyName,PhaseName,min(VersionID) --或者将它放在聚合函数中
FROM T_TaskEffectSource
GROUP BY DutyName,PhaseName
zjcxc 2004-03-31
  • 打赏
  • 举报
回复
SELECT DutyName,PhaseName,VersionID
FROM T_TaskEffectSource
GROUP BY DutyName,PhaseName,VersionID --少写了一个字段
zheninchangjiang 2004-03-31
  • 打赏
  • 举报
回复
非聚合函数的列必须出现在group by 中:
SELECT DutyName,PhaseName,VersionID FROM T_TaskEffectSource GROUP BY DutyName,PhaseName,VersionID
fjliningcd 2004-03-31
  • 打赏
  • 举报
回复
错在哪

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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