MySQL:获取匹配多个WHERE条件的多个键控行(可能很简单)
我有一个userdata表,其中包括用户ID和类别ID。我想获取与多个类别ID关联的所有用户,例如:MySQL:获取匹配多个WHERE条件的多个键控行(可能很简单),mysql,Mysql,我有一个userdata表,其中包括用户ID和类别ID。我想获取与多个类别ID关联的所有用户,例如: id | UserID | CategoryID 1 | 123456 | 999 2 | 123456 | 888 3 | 123457 | 999 4 | 123458 | 777 举个例子,如果我想得到所有用户的分类ID为999,我会得到123456和123457。我需要获取类别ID为999和888的所有用户,在这种情况下,只能得到用户123456。我不知道如何编写查询来提供这些数据 有人
id | UserID | CategoryID
1 | 123456 | 999
2 | 123456 | 888
3 | 123457 | 999
4 | 123458 | 777
举个例子,如果我想得到所有用户的分类ID为999,我会得到123456和123457。我需要获取类别ID为999和888的所有用户,在这种情况下,只能得到用户123456。我不知道如何编写查询来提供这些数据
有人能帮忙吗?不会的
SELECT DISTINCT tbl1.UserID FROM table_1 AS tbl1 LEFT JOIN table_1 AS tbl2 ON tbl1.UserID = tbl2.UserID WHERE tbl1.CategoryID = 999 AND tbl2.CategoryID = 888
你喜欢jpb吗?(我不确定)我似乎自己解决了这个问题:
SELECT *, GROUP_CONCAT(CategoryID) AS ids FROM tblWebsiteUserStats
GROUP BY UserID
HAVING ids LIKE '%888%' AND ids LIKE '%999%'
这管用 这似乎是可行的,但我可以有任意数量的categoryID,这就是问题所在(基本上我允许管理员选择对几个不同类别感兴趣的用户),不一定是2个,因此每次将表加入到表中都会变得混乱。。。谢谢你!