如何编写sql查询来选择一个id(如果所有7天周数都存在)

7hiiyaii  于 2021-07-26  发布在  Java
关注(0)|答案(1)|浏览(437)

我有一张和附图中那张相似的table。
id-2列中的id在“星期几”列中有1-7个星期数,例如id-2=100。
然而,有时并没有一周中的7天。例如,在id-2=500中,缺少星期几数字3、4和6。
在我的sql查询中,我想选择distinct id,但前提是它包含所有1-7天的周数。
我想知道是否有人能在这方面指导我?在sql中可以使用什么概念,即case、partition、self join等?

dddzy1tm

dddzy1tm1#

你可以用 group by 以及 having . 他妈的 day_of_week 总是介于 1 以及 7 :

select id_2
from mytable
group by id_2
having count(distinct day_of_week) = 7

如果没有重复 (id2, day_of_week) 元组,然后 having 条款可以更有效地表述为:

having count(*) = 7

相关问题