當我在 GROUP BY 列表中使用列名以及“WITH ROLLUP”修飾符的同時,使用顯式排序順序(ASC 或 DESC)時,對彙總輸出有什麼影響?
在這種情況下,當我們使用顯式排序順序(ASC 或 DESC)以及“WITH ROLLUP”修飾符在 GROUP BY 列表中使用列名時,ROLLUP 新增的彙總行仍然出現在計算它們的行的後面,而不管排序順序如何。
眾所周知,預設排序順序是升序,因此在下面的示例中,如果我們不使用任何顯式排序順序,則輸出將如下所示:
mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr with rollup; +-----+-------+ | sr | Price | +-----+-------+ | 1 | 502 | | 2 | 630 | | 3 | 1005 | | 4 | 850 | | 5 | 250 | |NULL | 3237 | +-----+-------+ 6 rows in set (0.00 sec)
現在,在將排序順序定義為 DESC 後,我們將從相同的上述查詢中獲得如下輸出:
mysql> Select sr, SUM(Price) AS Price from ratelist Group by sr DESC with rollup; +-----+-------+ | sr | Price | +-----+-------+ | 5 | 250 | | 4 | 850 | | 3 | 1005 | | 2 | 630 | | 1 | 502 | |NULL | 3237 | +-----+-------+ 6 rows in set (0.00 sec)
可以從輸出中觀察到,儘管排序順序更改為降序,但彙總行仍出現在計算它們的行的後面。
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP