一对多关系限制为 N 个数

Limit to N number with one-to-many relationship

我正在寻找一种方法来 return 100 个独特的事件,这些事件与另一个 table 的多个记录相关。

通常我会使用 TOP 来 return 一定数量的记录,但我正在处理一对多连接。

例如,在包含的图像中,我正在寻找 return 突出显示的前三个水果和它们的所有记录(或者通常只是三个水果——不挑食),但是我不知道在 SQL.

中执行此操作的方法

您可以使用 dense_rank():

select *
from (
    select t.*, dense_rank() over(order by fruit) rn
    from mytable t
) t
where rn <= 3

这会为您提供“前”三个水果的所有行,按照它们的字母顺序定义。