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

Oracle SQL:按分组查询某列最小值对应的全量行数据

分组查询最小值对应整行数据解决方案

针对按COL 1分组,提取每个分组中COL3最小值对应整行数据的需求,提供以下几种常用SQL实现方案:

方法1:子查询关联查询

先通过子查询统计每个分组的COL3最小值,再关联原表匹配出对应的整行数据,兼容绝大多数数据库版本。

SELECT t1.*
FROM your_table t1
INNER JOIN (
    SELECT `COL 1`, MIN(COL3) AS min_col3
    FROM your_table
    GROUP BY `COL 1`
) t2 ON t1.`COL 1` = t2.`COL 1` AND t1.COL3 = t2.min_col3;

方法2:窗口函数(推荐)

适用于支持窗口函数的数据库(如MySQL 8.0+、PostgreSQL、SQL Server等),通过给分组内的行按COL3排序,直接筛选出排名第一的行。

SELECT `COL 1`, `COl 2`, COL3
FROM (
    SELECT 
        *,
        ROW_NUMBER() OVER (PARTITION BY `COL 1` ORDER BY COL3 ASC) AS rn
    FROM your_table
) sub
WHERE rn = 1;
  • 若同一分组内存在多个COL3值相同的最小值行,使用RANK()或DENSE_RANK()替换ROW_NUMBER(),可保留所有符合条件的行。

方法3:WHERE子查询匹配

通过关联子查询直接匹配当前行所在分组的COL3最小值,写法简洁直观。

SELECT *
FROM your_table t
WHERE COL3 = (
    SELECT MIN(COL3)
    FROM your_table
    WHERE `COL 1` = t.`COL 1`
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:15:34