如下列数据
id
name
class
1
a
1
2
b
null
3
c
null
现在要按id和class排序,其中id为主要排序字段,class为次要排序字段
可写如下语句
select * from 表名 order by id,class
在公司开发时使用order by *** asc 进行排序时(***字段为int类型,主要做一个按照数值越小排名越前得功能),出现了所有***列为NULL值的记录都排在前面的情况。
解决办法:在排序字段名前加上-,然后改为降序排序,这样子有数值的记录的排序还是跟原来一样(负负得正),并且这把***列值为NULL的记录都排在后面了
空列值,order by 语句是可以排序到最后的,你说的是null值吧。这个只能这样:select *,case when NAME is null or LEN(NAME)=0 ' ' else NAME end as NAME2 from TABLE order by NAME2 desc
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)