sql - postgresql 中的数据格式化
问题描述
每个“user_id”都有多个具有不同“状态”值的观察值。
user_id status score region
1001 applied 700 california
1001 pre_approved 700 california
1001 Approved 700 california
我正在尝试做的是对每个 user_id 进行一次观察,并带有指示为“user_id”观察到哪些“状态”值的标志。
user_id applied_ind pre_approved_ind Approved_ind score region
1001 1 1 1 700 california
解决方案
您可以使用条件聚合:
select user_id,
max(1) filter (where status = 'applied') as applied_ind,
max(1) filter (where status = 'pre_approved') as pre_approved_ind,
max(1) filter (where status = 'approved') as approved_ind,
score, region
from t
group by user_id, score, region;
推荐阅读
- python - 如何在 x^(2/3) 之类的 python 代码中编写分数幂?
- linux - CSV 文件 bash 脚本中的平均值
- sql - SQL - 更新触发器
- c# - Windows 服务器更改为 samba4 后,域用户未在 IIS 中检索
- database - 对于这个简单概述的 BI 工具用例,正确的数据库技术是什么?
- mysql - 查询 Mysql Nodejs 的结果未定义
- vue.js - axios 在 vuex 操作中发布具有多个参数的请求
- sql - 创建动态 SQL 查询以列出所有数据库中的所有用户
- stm32 - STM32 - ESP8266 下载文件
- javascript - 倒数计时器不起作用javascript