我对SQL中使用汇总函数的理解是,select语句中不使用汇总函数的每个字段都应在group by
语句中列出。SQL语法 - 为什么我们需要在SQL group-by语句中列出单个字段?
select a, b, c, sum(n) as sum_of_n
from table
group by a, b, c
我的问题是,为什么我们需要列出字段?如果不是SQL语法分析程序的方式来实现,我们可以告诉它group
,它可以基于哪个字段是select
找出群体和不使用汇总函数?:
select a, b, c, sum(n) as sum_of_n
from table
group
我感觉自己在编写SQL代码时不必要地重复自己。在什么情况下,我们不希望它自动解决这个问题,或者它不能自动解决这个问题?
当你的rdbms是MySQL时,就会出现这种情况。 –
@DanBracuk,除了MySQL以外,可以让你省略“GROUP BY”......通常是为了自己的利益。 – JNevill