分组依据如何在多个列上工作

时间:2018-12-12 10:21:44

标签: sql-server group-by

我知道sql中的group by x子句是什么,但是现在当我们在多列上执行group by时,它实际上是如何工作的有点困惑。

我以为group by x, ygroup 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)中进行分组,或者我的理解是错误的吗?请帮助我更好地了解这一点。 预先感谢。

1 个答案:

答案 0 :(得分:0)

它将按列顺序分组。

Please look at this image