実際には、MySQL では ROLLUP と ORDER BY は相互に排他的であるため、クエリ内でこれらを同時に使用することはお勧めできません。ただし、ORDER BY で ROLLUP を使用する場合、主な欠点は、集計行が計算対象の行と一緒に並べ替えられることです。並べ替え順序によって概要行の位置が決定されることにも注意してください。
概要行は先頭が昇順で、最後が降順になります。より明確に理解するために、次の例を考えてみましょう -
mysql> Select * from (Select sr, SUM(PRICE) AS PRICE from ratelist GROUP BY sr WITH ROLLUP) AS Price ORDER BY Sr DESC; +------+-------+ | sr | PRICE | +------+-------+ | 5 | 250 | | 4 | 850 | | 3 | 1005 | | 2 | 630 | | 1 | 502 | | NULL | 3237 | +------+-------+ 6 rows in set (0.00 sec) mysql> Select * from (Select sr, SUM(PRICE) AS PRICE from ratelist GROUP BY sr WITH ROLLUP) AS Price ORDER BY Sr ASC; +------+-------+ | sr | PRICE | +------+-------+ | NULL | 3237 | | 1 | 502 | | 2 | 630 | | 3 | 1005 | | 4 | 850 | | 5 | 250 | +------+-------+ 6 rows in set (0.01 sec)
以上がROLLUP 修飾子を使用する場合、MySQL ORDER BY 句を使用して結果を並べ替えることはできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。