Так как это не было упомянуто здесь. Приведенные выше ответы являются правильными, то есть порядок столбцов после предложения «group by» не повлияет на правильность запроса (то есть сумму суммы).
Однако порядок извлечения строк будет варьироваться в зависимости от порядка столбцов, указанных после предложения «group by». Например, рассмотрим таблицу A
со следующими строками:
Col1 Col2 Col3
1 xyz 100
2 abc 200
3 xyz 300
3 xyz 400
SELECT *, SUM(Col3) FROM A GROUP BY Col2, Col1
будет извлекать строки, упорядоченные по Col2
в порядке возрастания.
Col1 Col2 Col3 sum(Col3)
2 abc 200 200
1 xyz 100 100
3 xyz 300 700
Теперь измените порядок столбцов в группе на Col1, Col2
. Полученные строки упорядочены по возрастанию Col1
.
т.е. select *, sum(Col3) from A group by Col1, Col2
Col1 Col2 Col3 sum(Col3)
1 xyz 100 100
2 abc 200 200
3 xyz 300 700
Примечание. Сумма суммирования (т. Е. Правильность запроса) остается неизменной.