翻译举例:
对于给定的一组电影,我如何获取其类别并判断我们是否获得了完整的电影集作为输入?
-------------------------
| CATEGORY | MOVIE |
-------------------------
| Fantasy | Hobbit |
| Fantasy | Hellboy |
| Romance | Twilight |
| Mystery | Memento |
| Mystery | Get Out |
例如,如果我传入 Hobbit, Hellboy
作为输入,我应该返回
-------------------------------------------
| CATEGORY | MOVIES | HASFULLSET |
-------------------------------------------
| Fantasy | Hobbit, Hellboy | 1 |
如果我传入 Hobbit, Twilight
作为输入,我应该返回
-------------------------------------
| CATEGORY | MOVIES | HASFULLSET |
-------------------------------------
| Fantasy | Hobbit | 0 |
| Romance | Twilight | 1 |
如果不使用子查询,我就无法超越这个。
SELECT Category, COUNT(*) AS GRP_COUNT
FROM movie
WHERE Movies IN (@movies)
GROUP BY Category
最佳答案
尝试以下查询:
SET @movies = 'Hobbit,Hellboy';
select category,
group_concat(case when find_in_set(Movie,@movies) then movie end) AS movies,
case when
count(*) = sum(case when find_in_set(Movie,@movies) then 1 else 0 end)
then 1 else 0 end FullSet
from tbl
group by category
having movies != '';
关于mysql - 对于给定的一组数据,如何检查输入是否具有整组数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56164555/