Maison  >  Article  >  base de données  >  Lors de l'utilisation du modificateur ROLLUP, est-il possible d'utiliser la clause MySQL ORDER BY pour trier les résultats ?

Lors de l'utilisation du modificateur ROLLUP, est-il possible d'utiliser la clause MySQL ORDER BY pour trier les résultats ?

WBOY
WBOYavant
2023-08-26 19:01:18766parcourir

使用 ROLLUP 修饰符时,是否可以使用 MySQL ORDER BY 子句对结果进行排序?

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer