SELECT t.*
FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY group_column ORDER BY order_column DESC) rn, table.*
FROM table
) t
WHERE t.rn <= 3;
oracle或mysql获取分组后每组的前N条数据
最新推荐文章于 2024-05-07 09:28:13 发布
SELECT t.*
FROM (
SELECT ROW_NUMBER() OVER(PARTITION BY group_column ORDER BY order_column DESC) rn, table.*
FROM table
) t
WHERE t.rn <= 3;