首页 > 解决方案 > 有没有办法在sql中划分布尔值的两半?

问题描述

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

标签: sql

解决方案


一种方法是:

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 )

推荐阅读