Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

ROLLUP 수정자를 사용하는 동안 MySQL ORDER BY 절을 사용하여 결과를 정렬할 수 있습니까?


실제로 ROLLUP과 ORDER BY는 MySQL에서 상호 배타적이므로 쿼리에서 둘 모두를 사용하는 것은 좋은 방법이 아닙니다. 그러나 여전히 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)