[英]2 column with same ID to 1 row
我有一个只有2列的表,如下
|ID | Date |
===================
|1 | 03/04/2017 |
|1 | 09/07/1997 |
|2 | 04/04/2014 |
我想取得最终结果如下
|ID | Date 1 |Date 2 |
================================
|1 | 03/04/2017 | 09/07/1997 |
|2 | 04/04/2014 | NULL |
我目前正在阅读PIVOT功能,但不确定自己是否走对了。 还是SQL新手
一个简单的透视查询应该可以在这里工作,但要有所不同。 对于您的ID
2数据,只有一行,但是在这种情况下,您要报告第一个日期和NULL
第二个日期。 我们可以使用CASE
表达式来处理这种情况。
SELECT
ID,
MAX(Date) AS date_1,
CASE WHEN COUNT(*) = 2 THEN MIN(Date) ELSE NULL END AS date_2
FROM yourTable
GROUP BY ID
输出:
演示在这里:
使用min/max
聚合函数可以轻松完成此操作
select Id,min(Date),
case when min(Date)<>max(Date) then max(Date) end
From yourtable
Group by Id
如果这样做对您的原始数据无济于事,请更改样本数据和预期结果
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.