一对多关系限制为 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
这会为您提供“前”三个水果的所有行,按照它们的字母顺序定义。
我正在寻找一种方法来 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
这会为您提供“前”三个水果的所有行,按照它们的字母顺序定义。