我是mySQL的新手。我有一组项目A,B,C及其相应的日期和价格在我的表(db)中。
Name | dates | Price |
-----------------------------
A | 20170101 | 1 |
B | 20170101 | 2 |
D | 20170101 | 3 |
A | 20161201 | 1 |
B | 20161201 | 1.5 |
C | 20161201 | 1 |
...
我想获得所有3个项目A B和C的条目的所有不同日期。对于上面的子集,我希望查询返回20161201而不是20170101.
我想?语法应该类似于
select distinct d.dates from db d1 join (select dates,group_concat(distinct name) gc from db group by dates) d2 where find_in_set(...
但我不知道如何继续。我也很满意一种完全不同的方法
有人可以帮忙吗。谢谢!
答案 0 :(得分:0)
类似的东西:
SELECT dates
FROM db WHERE name IN ('A', 'B', 'C')
GROUP BY dates
HAVING COUNT(DISTINCT name) = (
SELECT COUNT(DISTINCT name) FROM db db1 WHERE db1.name IN ('A', 'B', 'C')
)