wancy86

看似很简单是不是?

单列排序,没有任何问题

select * from tableA 
where age>1
order by age /*后面可以跟上ASC、DESC,默认是ASC升序排列*/

多列排序中的坑

如果是多个列排序呢?注意这里的age有很多一样的

select * from tableA 
where id>1
order by age, name desc

上面的写法是达不到预想的效果的,原因就在于,如果指定了多个排序列,而且还指定了降序排列,那么就需要为每一个列指定降序排列,上面的写法desc将只作用于name字段上,而age字段缺省的情况下依然是ASC排序,知道了这个出现诡异的排序结果也就很好解释了。

正确的写法

select * from tableA 
where id>1
order by age desc, name desc

分类:

技术点:

相关文章:

  • 2021-09-21
  • 2021-11-28
  • 2021-09-11
  • 2021-09-21
  • 2021-09-21
  • 2021-12-19
  • 2021-03-30
猜你喜欢
  • 2021-09-21
  • 2021-10-01
  • 2021-09-17
  • 2021-11-14
  • 2021-11-17
  • 2021-09-21
相关资源
相似解决方案