限制SQL表中n个重复的m个实体



最近我使用sql查询来提取所需的信息。我有一个表,其中第col1列中有很多重复的值,但是,对于这一列的每个值,都对应第二列的唯一值,因此该表如下所示:

>td style="text-align:right;">b1>td style="text align:right;">b234
id col1 col2
0 A a1
100 A a100
101 B
234 B

您可以尝试使用row_number((函数。然后选择排名小于50的所有内容。

select t.* from(
select *,
ROW_NUMBER() OVER(PARTITION BY col1 ORDER BY col1) AS rnk
from yourtable
)t
where t.rnk < 50

最新更新