我知道sql中的group by x
子句是什么,但是现在当我们在多列上执行group by
时,它实际上是如何工作的有点困惑。
我以为group by x, y
与group by y, x
几乎相似,但最近我注意到两者并不完全相同。
select * from .... group by ID, State
的结果如下,
ID State TimeSpent
50001 ACW 2868
50001 AUX 9398
50001 Avail 3148
50005 ACW 1346
50005 AUX 1379
50005 Avail 2572
和select * from .... group by State, ID
给我的输出如下。
ID State TimeSpent
50001 ACW 2868
50005 ACW 1346
50001 AUX 9398
50005 AUX 1379
50001 Avail 3148
50005 Avail 2572
通过查看两个输出,可以使分组依据在第一列(即在group by
子句之后不久提到的col)中进行分组,或者我的理解是错误的吗?请帮助我更好地了解这一点。
预先感谢。