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 )
avg( is_important::int )
推荐阅读
- amazon-web-services - 使用 aws codebuild 未收到有关 bitbucket 拉取请求的 Sonar 评论
- javascript - 等待一个不返回承诺的异步方法被明确认为是一种不好的做法?
- php - php插入数据库函数然后在另一个函数错误中全选
- wcf - 我们可以为统一容器中的单例实例定义超时吗?
- sql - Sequelize -> Group By field 并选择另一个字段的最大值
- jquery - jQuery Document Ready 有时不执行
- performance - 如何在注册表单中捕获电子邮件验证时间?
- html - 使用 CSS 选择器
- rest - 运行 docker 容器时,eureka 无法注册客户端应用程序,但在本地,系统按预期工作
- git - Git - 忽略所有非点文件