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

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

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

  # 在select语句最后,并且在l

  我们使用过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多个字段
 

(编辑:草根网)

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