要实现按组选择不同数量的记录,可以使用SQL语句中的GROUP BY子句和聚合函数来实现。
下面是一个示例代码,假设有一张名为"sales"的表,包含以下列:id, group_id, amount。
-- 按组选择每个组的记录数量
SELECT group_id, COUNT(*) as record_count
FROM sales
GROUP BY group_id;
-- 按组选择每个组的前N条记录
SELECT *
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY id) as row_num
FROM sales
) t
WHERE row_num <= N;
-- 按组选择每个组的前N条记录,并按组排序
SELECT *
FROM (
SELECT *, ROW_NUMBER() OVER (PARTITION BY group_id ORDER BY id) as row_num
FROM sales
) t
WHERE row_num <= N
ORDER BY group_id;
以上代码示例分别演示了按组选择每个组的记录数量、按组选择每个组的前N条记录,以及按组选择每个组的前N条记录并按组排序的方法。
请注意替换代码中的表名和列名为实际的表和列名。
上一篇:按组限制 PostgreSQL,只显示前两个店铺选项。
下一篇:按组选择第n大行