sql - SQL 使用更多带有大小写的两列
问题描述
我找不到一个很好的解释我的问题。
我有一张桌子:
user | 70Y | hospital
-------+-------+----------
1 | 18 | 1
2 | 70 | 1
3 | 90 | 0
我需要找到的是有多少人有超过 70 岁,如果有多少人在医院里。
我用这个来查找他的年龄是否超过70:
SUM(CASE WHEN 70y > 70 THEN 1 ELSE 0 END) AS 'old_person'
但是我怎么找到他在医院呢?
我对一张桌子的期望是:
| old_person | old_person_in_hospital|
+------------+-----------------------+
| 18 | 1 |
如果我想要更多的专栏让我们说检查 40 岁,那么最简单的方法是什么?
我对表的期望:
| old_person | 40y_person |
+-------------+---------------------+
| 18 | 16 |
in hospital | 1 | 2 |
解决方案
每列都需要一个案例:
select
SUM(Case when [70y] > 70 then 1 else 0 end) old_person,
SUM(Case when [70y] > 70 and hospital = 1 then 1 else 0 end) old_person_in_hospital
from tablename
推荐阅读
- android - 在 Android Studio 中构建一开始不起作用
- python - OSError: [Errno 27] 文件太大 idk 为什么
- graphviz - 为 Dot 中的子图强制不同等级(graphviz)
- debezium - 如何使用 debezium 捕获 postgresql 新表数据更改事件?
- javascript - 如何在 Ember.js 中执行顺序 for 循环?
- ios - 在 Grid Swift 中打开图像的 OnClick/OnTap 视图
- python - IDA Pro 如何将地址与符号相关联
- python - 如何动态更新 PyQt 条形图?
- mysql - 根据另一个表中的状态更新 MYSQL 表列
- php - 我想在我的 css 文件中添加一个带有 laravel URL 的背景图像。我可以通过仅包含路径来做到这一点?