如何解决合并记录以显示开始日期和结束日期 SQL
只是需要一些关于如何解决我遇到的问题的帮助。
基本上,我在下面有一组数据示例:
+----------+------------+-----------+
| Class ID | Start date | End date |
+----------+------------+-----------+
| 12345 | 1-Jan-21 | 2-Jan-21 |
| 12345 | 3-Jan-21 | 4-Jan-21 |
| 12345 | 5-Jan-21 | 6-Jan-21 |
| 12345 | 7-Jan-21 | 8-Jan-21 |
| 67890 | 17-Jan-21 | 25-Jan-21 |
| 67890 | 25-Jan-21 | 26-Jan-21 |
| 67890 | 26-Jan-21 | 31-Jan-21 |
+----------+------------+-----------+
我想将具有相同类 ID 的行分组,但只在一行中显示最短开始日期和最长结束日期。如下表:
+----------+------------+-----------+
| Class ID | Start Date | End Date |
+----------+------------+-----------+
| 12345 | 1-Jan-21 | 8-Jan-21 |
| 67890 | 17-Jan-21 | 31-Jan-21 |
+----------+------------+-----------+
我将如何查询?
谢谢!
解决方法
您可以使用聚合:
select class_id,min(start_date),max(end_date)
from t
group by class_id;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。