select不指定排序时,不是随机顺序显示,一般将它在底层表中出现的顺序显示(数据最初添加到表中的顺序)。
如果数据后来进行过更新或删除,顺序会收到MySQL重用回收存储空间的影响。
按单个列排序:
select column_name from table_name order by column_name;
按多个列排序:
select column_name1,column_name2,column_name3 from table_name order by column_name1,column_name2;
多列排序时,排序完全按所规定的顺序进行。上个语句中,仅在多个行有相同的column_name1值时,才对column_name2进行排序。如果column_name1的所有值都是唯一的,不会按column_name2进行排序。
指定排序方向:
默认顺序:升序(从A到Z),ASC
降序(从Z到A),DESC
按column_name1字段降序排序:
select column_name1, column_name2, column_name3 from table_name order by column_name1 DESC;
按column_name1字段降序排序,再对column_name2字段排序:
select column_name1, column_name2, column_name3 from table_name order by column_name1 DESC, column_name2
TIPS:
如果想对多列进行降序排序,必须每个列都指定DESC关键字
TIPS:
MySQL排序默认A=a(不区分大小写),若想区分,则需修改服务器配置(非SQL语句实现)
TIPS:
order by, from, limit有先后顺序要求:
SELECT * FROM table_name ORDER BY cloumn_name LIMIT 1;
