此請求是從複雜表中提取的。Oracle SQL:使用關聯表限制查詢中的行號
在這個例子中,我有兩個數據表:user_table,ref和一個關聯表:user_ref_asso。
架構和測試查詢當前位置:http://sqlfiddle.com/#!4/0a302/18
我嘗試使用「其中ROWNUM < X」,但它限制了總成績(用戶+ REF)限制USER_TABLE結果的數量。
我當前的查詢是:
select * from
(SELECT u.user_id, r.ref_id, u.name, r.ref
FROM user_table u
INNER JOIN user_ref_asso ur
ON ur.user_id = u.user_id
INNER JOIN REF r
ON r.ref_id = ur.ref_id
order by u.user_id, r.ref_id)
WHERE rownum <= 2;
例如,如果沒有行限制的結果是:
USER REF
1 1
1 2
2 1
2 2
3 1
3 2
如果我設置的行數限制爲2,預期的結果將是( 2個不同的用戶):
USER REF
1 1
1 2
2 1
2 2
但在我的情況下,結果是(2結果):
USER REF
1 1
1 2
如何在不同的user_id列上限制行號?