與“WITH ROLLUP”修飾符一起在 GROUP BY 列表中使用顯式排序順序(ASC 或 DESC)時,會對摘要輸出產生什麼影響?


在使用“WITH ROLLUP”修飾符在 GROUP BY 列表中使用顯式排序順序(ASC 或 DESC)時,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)

可以從輸出中觀察到,儘管排序順序已更改為降序,但摘要行仍出現在計算它們的行的後面。

更新於:22-6-2020

107 閱

啟動你的 職業

完成課程獲得認證

開始學習
廣告