Sql 限制来自2列的组合记录
在查询两列之间的组合时,正在寻找限制结果的帮助。下面是我正在使用的表格类型的一个示例Sql 限制来自2列的组合记录,sql,oracle,Sql,Oracle,在查询两列之间的组合时,正在寻找限制结果的帮助。下面是我正在使用的表格类型的一个示例 id name group state 1 Bob A NY 2 Jim A NY 3 Dan A NY 4 Mike A FL 5 Tim B NY 6 Sam B FL 7 Brad B FL 8 Glen B FL 9 Ben C FL 我试图
id name group state
1 Bob A NY
2 Jim A NY
3 Dan A NY
4 Mike A FL
5 Tim B NY
6 Sam B FL
7 Brad B FL
8 Glen B FL
9 Ben C FL
我试图显示组和状态的所有组合的所有记录,但仅限于为每个组合显示最多2条记录。结果应该如下所示
id name group state
1 Bob A NY
2 Jim A NY
4 Mike A FL
5 Tim B NY
6 Sam B FL
7 Brad B FL
9 Ben C FL
谢谢您的帮助。假设您总是希望每个组有两行,并且状态组合的id最低 当然,由于group是一个保留字,我假设您的列实际上被命名为其他名称。。。您需要调整我的查询以使用正确的列名
SELECT *
FROM (SELECT a.*,
row_number() over (partition by group, state
order by id asc) rnk
FROM your_table a)
WHERE rnk <= 2