如何选择恰好满足n次的元素?

时间:2017-03-02 17:18:00

标签: sql

我有下表:

+-----+---------+---------+
| id  | text    | videoid |
+-----+---------+---------+
|   1 | person  |       1 |
|   2 | vehicle |       1 |
|   3 | animal  |       1 |
|   4 | person  |       2 |
|   5 | vehicle |       2 |

如何选择包含3个标签(人,车辆和动物)的videoid? 在我们的例子中,它只是videoid = 1,因为videoid = 2没有足够的标签,只有2(人和车辆)

1 个答案:

答案 0 :(得分:1)

你可以聚合计数(不同(名称),按广告使用分组来过滤结果

如果您需要3个不同的文字

 select videoid 
 from my_table 
 group by videoid
 having count( distinct(text)) = 3

或者如果你也接受重复的文字

 select videoid 
 from my_table 
 group by videoid
 having count( *) = 3