0

200 人のユーザーにクエリを実行しようとしていますが、正確な数がわかりませんSubj_Id。したがって、範囲を照会することはできませんがSubj_Ids(200 から開始したいことはわかっています)、Subj_Ids照会する範囲に制限を設定する必要があります。私は試した:

SELECT *
    FROM session2
    WHERE Subj_Id > 200
    AND Subj_Id IN (
        SELECT Subj_Id
            FROM userdata
            WHERE `Primary Lang` != ''
            OR `Primary Lang` != '-'
            OR `Primary Lang` != '--'
    )
    LIMIT 200;

ただし、返されるのはほんの一握りですSubj_Ids。これは私の構文の問題ですか、それとも私が使用しているデータベースの問題ですか?

4

1 に答える 1

0

サブクエリで必要なユーザーを選択し、参加してセッションを取得します。

テーブルの形式について明確ではありません。user_id以下では、各テーブルに があり、user_id/subj_idがセッションを定義していると想定しています。

select s.*
from (SELECT user_id, max(subj_id) as maxsi
      FROM session2
      WHERE Subj_Id > 200 AND
            Subj_Id IN (SELECT Subj_Id FROM userdata WHERE `Primary Lang` not in ('', '-', '--') )
      group by user_id
      LIMIT 200
    ) u join
    session2 s
    on u.user_id = s.user_id and s.subj_id = maxsi
于 2013-04-04T00:34:04.103 に答える