このリクエストは、複雑なリクエストから抽出されます。
この例では、2 つのデータ テーブル (user_table、ref) と 1 つの関連付けテーブル (user_ref_asso) があります。
スキーマとテスト クエリは次のとおりです: http://sqlfiddle.com/#!4/0a302/18
「where rownum < X」を使用して USER_TABLE の結果の数を制限しようとしましたが、結果の合計 (ユーザー + ref) が制限されます。
私の現在のクエリは次のとおりです。
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 列で行番号を制限する方法は?