我有表顺序,它有很多列,但我对这些,用户id和文章id感兴趣。
|--------------------|-----------------|------------|
| user_id | article_id | Name |
|--------------------|-----------------|------------|
| 1 | 115 | John |
| 1 | 55 | John |
| 2 | 115 | Mike |
| 2 | 49 | Mike |
| 3 | 115 | Dave |
| 3 | 55 | Dave |
|--------------------|-----------------|------------|
我需要做一个查询,选择那些用户有第115条和55号。本例中的预期结果是获得名为john和dave的用户,因为这两个用户都有115和55。没有列名,我只是将其添加到中以便更好地理解。
我尝试了以下查询:
SELECT * FROM orders AS o
WHERE o.article_id IN (55, 115)
ORDER BY o.user_id
但是我得到了所有的文章id和用户id。我知道我应该使用另一个select来只选择那些55和115的用户。。。但我被困住了。
2条答案
按热度按时间vc9ivgsu1#
使用
group by
以及having
. 假设表中没有重复项:siv3szwd2#
你可以用
GROUP BY
条款: