我们如何获得当前24小时的最高记录,而其他的则保留在下面的所有记录中

时间:2018-11-13 06:02:35

标签: sql sql-server

我有一个表Employee,该表中的一列是Date

日期列的值是这样的:

2018-05-19 05:33:27.180,
2018-05-20 05:33:27.180,
2018-05-21 05:33:27.180,
2018-05-19 05:33:27.180,
2018-05-19 05:33:27.180,
2018-05-19 05:33:27.180

我想获取这样的记录:

2018-05-19 05:33:27.180,
2018-05-19 05:33:27.180,
2018-05-19 05:33:27.180,
2018-05-20 05:33:27.180,
2018-05-21 05:33:27.180,
2018-05-19 05:33:27.180

请帮助我

2 个答案:

答案 0 :(得分:2)

使用顺序

std::cout << i() << std::endl;

答案 1 :(得分:2)

我们可以尝试使用CASE表达式进行订购:

SELECT *
FROM yourTable
ORDER BY
    CASE WHEN [date] >= DATEADD(day, -1, GETDATE()) THEN 0 ELSE 1 END,
    [date];

这会将过去24小时的记录排在最前面,按日期升序排列,然后将早于24小时的记录排在底部,也按日期升序排列。