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

如何编写SQL查询大于最早创建记录对应ID的所有ID

SQL查询解决方案

关于MIN函数对日期格式的支持

MIN函数完全支持2017-08-23格式的日期取值,只要你的created_at字段是DATE、DATETIME等合法日期类型,就可以正常计算出表中最早的创建日期。

原有SQL的问题

你提供的两段SQL均存在语法错误,无法正常执行:

  • 第一段SQL重复使用WHERE关键字,且未对created_at设置逻辑判断条件
  • 第二段SQL将聚合函数MIN(c.created_at)放在GROUP BY子句中,不符合SQL语法要求,GROUP BY后仅可填写用于分组的维度字段,不可直接使用聚合函数

可行查询方案

方案1:子查询实现(兼容所有SQL数据库)

如果ID为自增主键,和created_at时间正相关(创建时间越晚ID越大),可以直接用以下语句,只要创建时间晚于最早创建时间的ID都会被查询出来:

SELECT casesoffensesid
FROM casesoffenses
WHERE created_at > (SELECT MIN(created_at) FROM casesoffenses);

如果存在最早创建时间对应多条记录的场景,需要获取比所有最早创建记录的ID都大的ID,可以用以下写法:

SELECT casesoffensesid
FROM casesoffenses
WHERE casesoffensesid > (
    SELECT MAX(casesoffensesid)
    FROM casesoffenses
    WHERE created_at = (SELECT MIN(created_at) FROM casesoffenses)
);

方案2:窗口函数实现(适配MySQL 8.0+、PostgreSQL、SQL Server等支持窗口函数的数据库)

WITH ranked_records AS (
    SELECT 
        casesoffensesid,
        DENSE_RANK() OVER(ORDER BY created_at ASC) AS time_rank
    FROM casesoffenses
)
SELECT c.casesoffensesid
FROM casesoffenses c
WHERE c.casesoffensesid > (SELECT MAX(casesoffensesid) FROM ranked_records WHERE time_rank = 1);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 09:45:02