我尝试使用case函数使多个select count的和不同。例如:
SELECT id_dept,
count(DISTINCT case when e.statut='pub' then id_patients end) AS nb_patients_pub,
count(DISTINCT case when e.statut='priv' then id_patients end) AS nb_patients_priv
FROM venues
我想把这两个结果放在一列中。有可能吗?
2条答案
按热度按时间ha5z0ras1#
我想你想
in
:注意,我添加了一个
GROUP BY
子句,这是最初丢失的(这是几乎所有数据库中的语法错误)。根据你的数据,这可能不完全是你想要的;如果一个给定的
id_patient
如果两种状态都有,那么它只会被计数一次,而您的代码在每种状态中只计数一次count(distinct ...)
. 如果是这样的话,那么你只需要保留两个分开的计数,然后求和:xienkqul2#
如果您对当前代码满意,那么sum(使用
+
)那些count
s、 或者将该查询用作cte(或内联视图)并