mySQL:使用限制问题
我试图查询200个用户,但不知道确切的mySQL:使用限制问题,mysql,sql,Mysql,Sql,我试图查询200个用户,但不知道确切的sub\u Ids。因此,我不能只查询sub\u id的范围(虽然我知道我想从200开始),但需要对我正在查询的sub\u id的范围设置一个限制。我试过: SELECT * FROM session2 WHERE Subj_Id > 200 AND Subj_Id IN ( SELECT Subj_Id FROM userdata WHERE `Primary L
sub\u Id
s。因此,我不能只查询sub\u id
的范围(虽然我知道我想从200开始),但需要对我正在查询的sub\u id的范围设置一个限制。我试过:
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;
但是,它只返回少数子ID
。这是我的语法问题还是我正在使用的数据库问题?在子查询中选择所需的用户,然后重新连接以获取会话
您不清楚表格的格式。以下假设每个表都有一个用户id
,并且用户id
/子用户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
如果不指定限制200,你会得到多少?我认为其中subc_Id>200
似乎很奇怪。你真的只想要其中的一个吗subc_Id
的值为201或更大?限制200并不意味着它将返回200,如果你所在的条件已经过滤掉了大多数用户,那么它应该返回少数用户。使用限制200,5查找是否有超过200的用户,或者尝试简单计数(*):-)子查询中的WHERE子句无效。如果语言是'-'
,那么它就不是'
。我认为你应该使用和
,而不是或
。对不起,用户和主题是一样的。我编辑了我的问题以反映这一点。然而,Userdata是另一个表,它由sub\u Id
链接。你的答案仍然适用吗?