我有一张名为attendance_master的表格 我有如下记录:
1 | NULL | n1
2 | NULL | n2
3 | 2015-05-18 10:10:00 | n3
4 | 2015-05-19 10:05:00 | n4
5 | 2015-05-18 10:07:00 | n5
6 | 2015-05-18 12:03:00 | n6
现在我想要如下结果:
4 | 2015-05-19 10:05:00 | n4
6 | 2015-05-18 12:03:00 | n6
3 | 2015-05-18 10:10:00 | n3
5 | 2015-05-18 10:07:00 | n5
1 | NULL | n1
2 | NULL | n2
我当前的查询和结果如下:
select * from attendance_master order by inout_time DESC
注意:我不想使用union。
1 | NULL | n1
2 | NULL | n2
4 | 2015-05-19 10:05:00 | n4
6 | 2015-05-18 12:03:00 | n6
3 | 2015-05-18 10:10:00 | n3
5 | 2015-05-18 10:07:00 | n5
答案 0 :(得分:1)
您可以使用相同的字段按多个条件排序:
order by inout_time is null, inout_time desc
' d" null"首先是字段,然后按降序排序其他所有内容。
答案 1 :(得分:1)
select * from attendance_master order by inout_time DESC, ISNULL(inout_time)
答案 2 :(得分:0)
CASE
子句可以帮助您:
SELECT * FROM attendance_master
ORDER BY CASE WHEN inout_time is null THEN 1 ELSE 0 END,
inout_time DESC