Maison >base de données >tutoriel mysql >Lors de l'utilisation du modificateur ROLLUP, est-il possible d'utiliser la clause MySQL ORDER BY pour trier les résultats ?
En fait, ROLLUP et ORDER BY s'excluent mutuellement dans MySQL, donc les utiliser tous les deux dans une requête n'est pas une bonne pratique. Cependant, si nous utilisons ROLLUP dans ORDER BY, le principal inconvénient est que les lignes récapitulatives seront triées avec les lignes sur lesquelles elles sont calculées. Il convient également de noter que l'ordre de tri déterminera la position des lignes récapitulatives.
Les lignes récapitulatives seront au début par ordre croissant et à la fin par ordre décroissant. Veuillez considérer l'exemple suivant pour le comprendre plus clairement -
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)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!