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

技术问询:如何获取各日期对应Count列最大值的唯一数据行

需求说明

需要从给定数据表中,提取每个date对应的count列最大值所在的完整数据行。

原始数据表:

| id | date       | count |
|----|------------|-------|
| 1  | 2022-01-01 | 2     |
| 2  | 2022-01-01 | 3     |
| 3  | 2022-01-02 | 4     |
| 4  | 2022-01-02 | 7     |

期望结果:

| id | date       | count |
|----|------------|-------|
| 2  | 2022-01-01 | 3     |
| 4  | 2022-01-02 | 7     |

方法1:使用窗口函数(推荐,简洁高效)

利用ROW_NUMBER()窗口函数按date分组,对count降序排序后取每组第一行:

SELECT id, date, count
FROM (
    SELECT 
        id, 
        date, 
        count,
        ROW_NUMBER() OVER (PARTITION BY date ORDER BY count DESC) AS rn
    FROM your_table_name
) t
WHERE rn = 1;

注:若同一日期存在多个相同的最大count值,ROW_NUMBER()会随机选取一行;如需保留所有最大值行,可替换为RANK()或DENSE_RANK()。

方法2:子查询关联

先按日期分组求出每个日期的最大count,再关联原表获取对应行:

SELECT t1.id, t1.date, t1.count
FROM your_table_name t1
JOIN (
    SELECT date, MAX(count) AS max_count
    FROM your_table_name
    GROUP BY date
) t2 ON t1.date = t2.date AND t1.count = t2.max_count;

注:此方法会保留同一日期下所有count等于最大值的行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 06:13:09