ROLLUP และ ORDER BY เป็น Mutually Exclusive (ขัดแย้งกัน) ใน MySQL ไม่ควรใช้ร่วมกัน แต่ถ้าบังคับใช้:
- แถวสรุป (Summary Rows) จะถูกจัดเรียงคู่กับแถวที่คำนวณมา
- ลำดับจัดเรียง (ASC/DESC) จะกำหนดตำแหน่งของแถวสรุป
ตัวอย่าง
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)
ASC: Summary Row (NULL) อยู่บนสุด DESC: อยู่ท้ายสุด