当我将显式排序顺序(ASC或DESC)与GROUP BY列表中的列名一起使用时,会对摘要输出产生什么影响?
在这种情况下,如果我们在GROUPBY列表中使用带有列名的显式排序顺序(ASC或DESC)以及“WITHROLLUP”修饰符,则由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)
从输出中可以看出,尽管排序顺序已更改为降序,但汇总行还是出现在要计算汇总行的行之后。
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志