首页 > 解决方案 > 如何用 MAX 小计

问题描述

1.我有如下数据(只是一个子集 - 有 20K 记录)


    sku,id
    1   1
    1   2
    1   2
    1   2
    1   3
    1   4
    1   1
    1   2
    1   3
    1   4
    1   4
    1   4
    1   5
    1   6
    1   6
    2   1
    2   1
    2   2
    2   3
    2   3
    2   3
    2   4
    2   4
    2   5
    2   5
    2   6
    2   7
    2   1
    2   2
    2   3

上述值转换​​为

1 = 4 records
1 = 6 records
2 = 7 records
2 = 3 records

MAX 只给我 6 换 1 和 7 换 2

实际总数为 1 = 10 和 2 = 10

我如何总结以获得正确的值?

标签: sql

解决方案


这里不处理领带。数以千计的其他问题处理这个话题。

select sku, id
from (
    select *, row_number() over (order by id desc) rn
    from T
) t
where rn <= 2
order by rn desc;

推荐阅读