0

このリクエストは、複雑なリクエストから抽出されます。

この例では、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 列で行番号を制限する方法は?

4

3 に答える 3