加入收藏 | 设为首页 | 会员中心 | 我要投稿 威海站长网 (https://www.0631zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

关于mysql排序问题针对order by多个字段的情况该如何排序?

发布时间:2022-12-03 16:32:58 所属栏目:MySql教程 来源:网络
导读: 我们使用过mysql或sql server等数据库的话MySQL 排序,都应该对SQL这种结构化查询语言有一定的了解,其中排序这一块我们应该也知道,简单的单个字段排序一般都是这样写:
# 在select语句最

我们使用过mysql或sql server等数据库的话MySQL 排序,都应该对SQL这种结构化查询语言有一定的了解,其中排序这一块我们应该也知道,简单的单个字段排序一般都是这样写:

# 在select语句最后,并且在limit分页语句之前,追加排序语句
order by id desc

而且我们排序的字段一般都是添加了索引的字段,这样也能提高查询效率。

完整的sql语法结构如下:

select distinct
    
from
    
join  on 
where
    
group by
    
having
    
order by
    
limit 

sql执行顺序:

1、from 
2、on 
3、 join 
4、where 
5、group by 
6、having 
7、select
8、distinct 
9、order by 
10、limit 

那么如果是多个字段,该怎么编写sql呢?还有多个字段的情况下它会怎么排序呢?

总结:

MySql使用 ASC 或 DESC 这两个关键字来设置查询结果是按升序或降序排序;
需要注意的是,如果不指定是ASC还是DESC,那么默认是按升序(ASC)排序;
order by后可追加多个字段排序,各个字段之间用英文逗号隔开;
若字段A用升序,字段B用降序,SQL该这样写:`order by A ASC, B DESC`,默认同理,也可以这样写:`order by A, B DESC`, 因为不写ASC默认也是升序;
如果A、B都用降序,必须每个字段都指定为DESC,也就是:`order by A DESC, B DESC`;
多个字段时,优先级按先后顺序而定,从左到右,先按照第一个字段升序或降序排序,然后再在当前排序结果的基础上,针对字段值相同的记录,执行下一个字段的升序或降序排序,以此类推。

参考:

mysql order by 多个字段排序

mysql order by多个字段

(编辑:威海站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!