期望的输出:
我想2019-11-23 17:25:00
按升序排列日期和更早的2 行,因此我不必在应用程序层对它们进行排序。
|2019-11-23 17:24:00|
|2019-11-23 17:25:00|
我的表:( 为了这个问题,我省略了不必要的数据。)
+===================+
|starttime |
+===================+
|2019-11-23 17:22:00|
|2019-11-23 17:23:00|
|2019-11-23 17:24:00|
|2019-11-23 17:25:00|
|2019-11-23 17:26:00|
|2019-11-23 17:27:00|
+===================+
到目前为止我尝试过的:
1) 此查询返回前 2 项(不正确):
SELECT `starttime`
FROM `table`
WHERE `starttime` <= "2019-11-23 17:25:00"
ORDER BY `starttime` ASC
LIMIT 2
返回数据:
|2019-11-23 17:22:00|
|2019-11-23 17:23:00|
2) 此查询返回正确的 2 个项目,但顺序相反:
SELECT `starttime`
FROM `table`
WHERE `starttime` <= "2019-11-23 17:25:00"
ORDER BY `starttime` DESC
LIMIT 2
返回数据
|2019-11-23 17:25:00|
|2019-11-23 17:24:00|
您的第二个查询是正确的,您所要做的就是将其嵌套在另一个查询中,您将在其中重新排序 2 行:
SELECT t.*
FROM (
SELECT `starttime`
FROM `table`
WHERE `starttime` <= "2019-11-23 17:25:00"
ORDER BY `starttime` DESC
LIMIT 2
) t
ORDER BY t.`starttime`
请参阅演示。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句