【发布时间】:2018-02-06 08:12:19
【问题描述】:
我有一张桌子订单:
|--------------------|-----------------|------------|
| user_id | article_id | Name |
|--------------------|-----------------|------------|
| 1 | 39 | John |
| 1 | 39 | John |
| 2 | 39 | Mike |
| 2 | 19 | Mike |
| 3 | 39 | Dave |
|--------------------|-----------------|------------|
我怎样才能只选择那些article_id = 39的用户,不管多少次,但如果它只出现一次。 我需要选择用户 John 和用户 Dave,而不是 Mike。 Mike 的 article_id 为 39,但他的 article_id = 19。 该查询应返回用户 John 和 Dave。
我试过这个查询:
SELECT * FROM orders AS o where o.article_id = 39
GROUP BY o.user_id HAVING COUNT(o.article_id) > 0
但它会返回所有三个用户。我不需要用户 Mike。
【问题讨论】:
-
您可以使用联接(一旦您对数据进行了规范化)
标签: mysql