You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改SELECT中MIN(remind_date)获取大于今日的最小提醒日期

获取每个ID的下一个提醒日期

要满足仅修改SELECT中的MIN(remind_date)部分且不添加WHERE子句的要求,你可以用带条件判断的MIN函数实现——只筛选大于今日的日期再取最小值,小于等于今日的日期会被自动忽略。

修改后的完整SQL语句如下:

SELECT ID, MAX(column1), MIN(CASE WHEN remind_date > CURRENT_DATE THEN remind_date END) AS next_remind_date
FROM My_View 
GROUP BY ID

逻辑说明

  • CASE WHEN remind_date > CURRENT_DATE THEN remind_date END:对每条记录做判断,仅保留大于今日的日期,不符合条件的返回NULL
  • MIN(...):MIN函数会自动忽略NULL值,最终计算出每个ID分组里大于今日的最小提醒日期
  • 如果某个ID没有大于今日的提醒日期,该字段会返回NULL,不会排除整个ID的记录,完全符合不添加WHERE子句的限制

不同数据库的今日日期函数略有差异,可按需替换:

  • MySQL/MariaDB:用CURDATE()替代CURRENT_DATE
  • SQL Server:用CAST(GETDATE() AS DATE)替代CURRENT_DATE
  • Oracle:用SYSDATE替代CURRENT_DATE

内容的提问来源于stack exchange,提问作者saurabh gupta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 13:20:31