sql - 在 SQL Server 中对一种类型的数据进行分组
问题描述
我必须将某些类型的数据分组到视图中的一行。我不知道如何在 SQL Server 中处理这种类型的结果。
表数据:
| Process | StartDate | EndDate |
+-----------+-----------+--------------+
| A1 | 05-06-2018| NULL |
| A2 | NULL | 08-03-2018 | --Here A1 & A2 are same process
| B1 | 03-02-2018| NULL |
| C1 | 07-06-2018| NULL |
| C2 | NULL | 09-03-2018 | --Here C1 & C2 are same process
期望的输出:
| Process | StartDate | EndDate |
+-----------+-----------+--------------+
| A | 05-06-2018| 08-03-2018 |
| B | 03-02-2018| NULL |
| C | 07-06-2018| 09-03-2018 |
解决方案
您可以使用聚合:
select left(process, 1) as process, max(startdate) as startdate), max(enddate) as enddate
from data
group by left(process, 1);
推荐阅读
- javascript - 邮递员在向 Firebase 函数发布请求时说“错误:无法处理请求”
- ios - 所有输入插入符号未对齐
- android - 我有一个构建我的颤振应用程序的道具
- java - 根据泛型类型加入
- python - 在 Jupyter 笔记本中: !which python 和 sys.executable 返回不同的路径
- amazon-web-services - 更新 AWS Athena 数据和表以重命名列
- python - 替换部分字符串以获得混乱数据(更快的方式而不是字符串替换)?
- node.js - 从节点应用程序“未能检测到”构建包构建 Heroku
- python - 如何从值列表中删除重复项
- excel - VBA Excel - FileFilter 阻止 Workbooks.Open