我有以下问题:
SELECT
IsTestBatch,
BatchID,
CampaignID,
IF(ActualTriggerDateTime IS NOT NULL,
MIN(ActualTriggerDateTime),
MIN(TriggerDateTime)) AS NextQueuedOn
FROM
campaignbatches
WHERE
Status IN (2,3)
GROUP BY
CampaignID
ORDER BY
IF(ActualTriggerDateTime IS NOT NULL, ActualTriggerDateTime, TriggerDateTime) ASC
这个 if
情况不正常,最小日期也不正确。
我需要上面的记录,但它返回上一个图像表中的第一条记录:
2条答案
按热度按时间83qze16e1#
所有选择列都将进入GROUPBY子句
toiithl62#
因为聚合函数
MIN()
忽略NULL
值,则可以尝试从列actualtriggerdatetime中选择最小日期,如果此列上的所有值都为null,则可以从列triggerdatetime中选择最小值。