我有这张 table :
Movies (ID, Genre)
一部电影可以有多种类型,因此 ID 不是特定于类型的,它是多对多关系。我想要一个查询来查找恰好有 4 种类型的电影总数。我当前的查询是
SELECT COUNT(*)
FROM Movies
GROUP BY ID
HAVING COUNT(Genre) = 4
但是,这会返回一个 4 的列表而不是总和。如何获取总和而不是 count(*)
的列表?
最佳答案
一种方法是使用嵌套查询:
SELECT count(*)
FROM (
SELECT COUNT(Genre) AS count
FROM movies
GROUP BY ID
HAVING (count = 4)
) AS x
内部查询获取恰好有 4 种类型的所有电影,然后外部查询计算内部查询返回的行数。
关于mysql通过拥有计数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7857538/