在sql中有没有办法将布尔值分成两半?

在sql中有没有办法将布尔值分成两半?,sql,Sql,我目前正在处理一个表,其中每一行都有一个布尔值,“is_important”。我试图创建一个重要条目与按日期分组的总条目的比率,但我似乎无法让SQL识别我想要使用WHERE子句进行除法。一种方法是: select date, avg( case when is_important then 1.0 else 0 end) as important_ratio from t group by date; 也可能有快捷方式,具体取决于您使用的数据库,例如: avg( is_important )

我目前正在处理一个表,其中每一行都有一个布尔值,“is_important”。我试图创建一个重要条目与按日期分组的总条目的比率,但我似乎无法让SQL识别我想要使用WHERE子句进行除法。

一种方法是:

select date, avg( case when is_important then 1.0 else 0 end) as important_ratio
from t
group by date;
也可能有快捷方式,具体取决于您使用的数据库,例如:

avg( is_important )
avg( is_important::int )

请使用您正在使用的数据库进行标记。听起来您希望使用日期变量的“分组依据”和平均值(很重要)来获取比率。请方便地为您提供帮助:。请提供有关您尝试过的内容以及当前遇到的错误的信息: