Sql 如何选择正好满足n次的元素?
我有下表:Sql 如何选择正好满足n次的元素?,sql,Sql,我有下表: +-----+---------+---------+ | id | text | videoid | +-----+---------+---------+ | 1 | person | 1 | | 2 | vehicle | 1 | | 3 | animal | 1 | | 4 | person | 2 | | 5 | vehicle | 2 | 如何选择具有3个标签(人、车辆和动物)
+-----+---------+---------+
| 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个(个人和车辆)您可以聚合计数(不同的(名称),按广告使用分组过滤结果
如果你需要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
按计数(*)为3的id分组