从表中选择日期,其中列表中的所有条目都在该日期的表中

时间:2017-02-16 07:44:19

标签: mysql

我是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(...

但我不知道如何继续。我也很满意一种完全不同的方法

有人可以帮忙吗。谢谢!

1 个答案:

答案 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') )