gpt4 book ai didi

具有两个 WHERE 子句的同一个表上的 MySQL UNION

转载 作者:行者123 更新时间:2023-11-28 23:10:56 25 4
gpt4 key购买 nike

我有一张表 alerts

date | alert | status | sentDate | id 

在此表中,发送警报后,我将状态设置为“已发送”并设置发送日期。默认情况下,状态为“not”(这意味着尚未发送)。

现在,我想获取最后一个发送日期,我可以使用以下查询获取它

SELECT sentDate FROM alerts WHERE id = someid AND status = 'sent' Order by date desc limit 1;

此外,我想获取尚未发送的最新警报,我正在使用此查询

SELECT date, alert FROM alerts WHERE id = someid AND status = 'not' order by date asc limit 1;

是否可以在一个查询中执行此操作?也许使用 UNION。我尝试在这两个查询上应用 UNION/UNION ALL,但它给了我错误。

有人可以帮忙吗?

提前致谢。

最佳答案

SELECT 
max(CASE WHEN status = 'sent' THEN DATE END) AS sentDate,
max(CASE WHEN status = 'not' THEN DATE END) AS notSentDate
FROM alerts WHERE id = someid

你可以试试上面的查询。

它会帮助你。

关于具有两个 WHERE 子句的同一个表上的 MySQL UNION,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45977290/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com