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

如何编写SQL查询特定月份内存在最后一条事件记录的ID

SQL查询实现方案

实现思路

  • 先按ID分组,统计每个ID对应的最新(最大)录入日期
  • 过滤出最新日期落在2020年1月整月范围内的ID及对应最新日期即可

注意:示例中日期格式为DD/MM/YYYY,需要先转换为标准日期类型再做比较,避免字符串匹配错误

MySQL环境参考代码

SELECT 
  ID,
  DATE_FORMAT(MAX(STR_TO_DATE(DATE, '%d/%m/%Y')), '%d/%m/%Y') AS DATE
FROM 
  你的表名
GROUP BY 
  ID
HAVING 
  MAX(STR_TO_DATE(DATE, '%d/%m/%Y')) >= '2020-01-01'
  AND MAX(STR_TO_DATE(DATE, '%d/%m/%Y')) <= '2020-01-31';

代码说明

  1. STR_TO_DATE(DATE, '%d/%m/%Y') 把DD/MM/YYYY格式的字符串转换为MySQL可识别的日期类型
  2. MAX()函数取每个ID分组下的最大日期,也就是最后一次录入的日期
  3. HAVING子句对分组后的结果做过滤,只保留最新日期在2020年1月范围内的分组
  4. 外层DATE_FORMAT把日期转回原格式,和预期输出的格式保持一致

运行上述代码即可得到对应的预期输出结果。

内容的提问来源于stack exchange,提问作者Nithya Babu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 12:36:05