我想选择列中的所有数据符合伪代码中所述条件的情况:
select
s.Id as Id,
SUM(CASE WHEN s.IsArchived=0 THEN 1 ELSE 0 END) as Days,
ALL(CASE WHEN s.IsArchived=1) AS IsArchived, -- Pseudo code
sum(s.Price) as Price
from
Stuff s
join
Other o
on
s.FK_OtherId = o.Id
where
sl.Derp is not null
group by
s.Derp
如果所有数据都返回IsArchived = 1,那么如何为IsArchived列编写正确的语法以聚合值1,否则为0?
答案 0 :(得分:0)
尝试使用SELECT sql FROM db2.sqlite_master WHERE type='table' AND name='current'
:
MIN()
假设SELECT ...
MIN(s.IsArchived) as IsArchived,
...
FROM ...
始终为0或1,如果此列中至少有一行包含值0,则返回0,否则返回1.