我正在尝试查询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
。这是我的语法问题,还是我正在使用的db?
答案 0 :(得分: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