如何执行只返回两个值的sql查询,比较日期类型before now()和日期类型after now()。
我已经为一个解决方案创建了一个sql查询,但是如何组合下面的sql查询来返回previous和after now()
SELECT *
FROM Orders
WHERE ordersDate > now()
AND ordersDate IS NOT NULL
ORDER BY ordersDate ASC
LIMIT 1;
我正在尝试的另一个sql查询:
SELECT *
FROM Orders
WHERE
(SELECT min(ordersDate) FROM Orders
Where ordersDate > now())
AND
(SELECT max(ordersDate) FROM Orders
Where ordersDate < now());
这个sql返回两个以上的值,这不是我想要的,我只返回一个before和after now(),两个值而已。
今天的预期输出given now()值:(我不知道如何在这里创建表)
OrdersID ordersDate OrderMade
4 19/09/2018 yes
7 21/09/2018 PreOrder
1条答案
按热度按时间qcuzuvrc1#
一种方法是使用两个单独的select查询。一个查询获取当前日期时间之前的订单,另一个查询获取当前日期时间之后的订单。我们可以使用ORDERBYLIMIT子句,每个select语句只能获取一行。然后,您可以使用union all来获得一个组合结果。
尝试以下查询: