mysql的orderby可以排序多个。
多个排序语法:
升序:select * from table_name order by 字段1,字段2
降序:select * from table_name order by 字段1 desc,字段2 desc
下面通个一个例子介绍:有表student,表记录有,当只做age的排序的时候,年龄从大到小的排列
当做age和id排序的时候,先是年龄排序,而同年龄时段的再按id大小排 。
mysql的order by可以排序多个,只需在order by 后面的字段用逗号隔开即可,多个排序是有效的。
select * from table order by fileds limit 0,1000
如果fileds相同,就会根据*号中第二列的默认排序,比如数值型的话就是从0、1、2、3这样,字符型可能就是首字母的顺序。
如果结果都一样就按照系统默认的排序排。
如果是 innodb引擎,会根据主键大大小,由小到大;
如果是myisam引擎,就根据数据插入顺序先后来排。
例如你表名 为test,sql 如下:
select * from test order by `order` desc-----------------根据order降序排列,去掉末尾的desc就是升序。
注:order为关键字,所以字段order需要用反引号括起来,
sql语言的默认排序方式是升序,orderby
子句若未显式指定升序(asc)或降序(desc),那么就认按默认升序排序。
例如下列语句为默认按升序排序
select
*
from
t1
order
by
col1
它与下列语句等效
select
*
from
t1
order
by
col1
asc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)