【发布时间】:2011-05-19 10:13:34
【问题描述】:
我有一张表格,我们有人们的用户 ID 和他们可以说的语言。只有两列,用户 ID 和语言。
我想找到所有会说印地语、英语、德语和法语的用户。 我应该如何编写这个查询?我不能使用 Inner Join 4 次。问题是检查语言数量可能会增加,我可能想检查更多语言。
用户名 |语言
1 |英文
4 |英文
1 |法语
1 |德语
....................
【问题讨论】:
-
您可以使用
group by和count。谷歌“关系部门” -
COUNT(*) 和 GROUP BY 只会告诉你每个用户说多少种语言,而不是哪种语言。
-
@Chris。你使用
WHERE language in('english','hindi', 'french','german'),GROUP BY userid然后检查HAVING COUNT(DISTINCT language) = 4