【发布时间】:2021-01-30 18:29:05
【问题描述】:
【问题讨论】:
标签: sql group-by subquery distinct having-clause
【问题讨论】:
标签: sql group-by subquery distinct having-clause
我会推荐聚合和having 子句来实现过滤logc:
select userid
from mytable
group by userid
having
(
max(case when formfieldid = 1 then 1 end) = 1
and max(case when formfieldid = 2 then 1 end) = 1
)
or max(case when formfieldid = 3 then 1 end) = 1
根据您没有告诉的实际数据库,可能有更简洁的选项来表达条件。例如,在 MySQL 中:
having
(max(formfieldid = 1) and max(formfieldid = 2))
or max(formfieldid = 3)
【讨论】: