直接上demo,表结构如下
#默认按照a列升序排序
SELECT * FROM test ORDER BY a;
#默认按照a列升序排序,如果a列值相同则接着按照b列排序,如果b列值都不同,那么则与`ORDER BY a`结果相同
SELECT * FROM test ORDER BY a,b;
#默认按照a列升序排序,如果a列值相同则接着按照b列排序,如果a,b列都相同则按照c列升序排序;如果a,b,c列值都各不相同则与`ORDER BY a`结果相同
SELECT * FROM test ORDER BY a,b,c;
order by中除了列名还可以写条件分组
直接上demo,表结构如下
#分为 <= 5的一组和 > 5 的一组
SELECT * FROM test ORDER BY a > 5;
#在<= 5的一组和 > 5 的一组前提下,组内再根据 b <= 4和 > 4 再分组
SELECT * FROM test ORDER BY a > 5,b > 4;
参考自
https://blog.csdn.net/ybula/article/details/91394669
sql执行顺序
SQL大致的解析流程如下
from .. on.. join.. where .. group by .. having ..select distinct ...order by .. limit..