SQL SERVER GRUOUP BY 分组问题
我新建的一个视图,结构如图,想按照时间和姓名分组。将timehours 相加
仅通过时间报错:
SELECT TimeItemFromDate,Name,Department,projectCode,ProjectName,SUM(TimeHours) FROM test GROUP BY TimeItemFromDate
SELECT TimeItemFromDate,Name,Department,projectCode,ProjectName,SUM(TimeHours) FROM test GROUP BY TimeItemFromDate
> Msg 8120, Level 16, State 1, Server WIN-N830FBLO8HK\TECHEXCEL, Procedure , Line 0
选择列表中的列 'test.Name' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
> [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]选择列表中的列 'test.Name' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 (8120)
> 时间: 0.014s
通过时间和名字,会报第三列。
SELECT TimeItemFromDate,Name,Department,projectCode,ProjectName,SUM(TimeHours) FROM test GROUP BY TimeItemFromDate,Name
SELECT TimeItemFromDate,Name,Department,projectCode,ProjectName,SUM(TimeHours) FROM test GROUP BY TimeItemFromDate,Name,Department
> Msg 8120, Level 16, State 1, Server WIN-N830FBLO8HK\TECHEXCEL, Procedure , Line 0
选择列表中的列 'test.projectCode' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。
> [42000] [Microsoft][SQL Server Native Client 11.0][SQL Server]选择列表中的列 'test.projectCode' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。 (8120)
> 时间: 0.017s
百度得到的Select指定的每一列都应该出现在Group By子句中,那我要输出同样的结构,应该怎么写?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
group by 的功能是按照某一列分组,分组后的数据结构变成 {key, value} 型,key 为 group by 的字段,value 为根据 key 分组后的集合。分组后的数据结构已经改变,不能和之前的结构保持一致。
举个例子: