总结每个客户(ID)的交付公司



我又回来了;)这次我有一个相当繁重的任务(我想(。

这是我得到的:

|customerID ||company  |compdel |Street  |Code |Date 1     |Date 2     |
+-------------------------------+--------------------------------------+
|1          ||Example1 |DELExam1|ABC Rd.1|4025 |01.01.2015 |01.08.2015 |
|1          ||Example1 |DELExam1|ABC Rd.1|4025 |13.04.2015 |01.12.2015 |
|1          ||Example1 |DELExam2|DEL St.1|0212 |13.03.2015 |09.07.2015 |
|1          ||Example1 |DELExam3|REF Wy.1|9875 |26.05.2015 |16.09.2015 |
|2          ||Example2 |DELExam4|REG St.1|6754 |21.02.2015 |16.05.2015 |
|2          ||Example2 |DELExam5|HIO Wy.1|9999 |01.03.2015 |06.08.2015 |
|2          ||Example2 |DELExam5|HIO Wy.1|9999 |01.01.2015 |06.02.2015 |

我想为每个客户 ID 显示每个交付的公司 (compdel( 在一行中求和,最早日期在日期 1,最新日期在日期 2。为了更容易理解,我想要这个结果:

|customerID ||company  |compdel |Street  |Code |Date 1     |Date 2     |
+-------------------------------+--------------------------------------+
|1          ||Example1 |DELExam1|ABC Rd.1|4025 |01.01.2015 |01.12.2015 |
|1          ||Example1 |DELExam2|DEL St.1|0212 |13.03.2015 |09.07.2015 |
|1          ||Example1 |DELExam3|REF Wy.1|9875 |26.05.2015 |16.09.2015 |
|2          ||Example2 |DELExam4|REG St.1|6754 |21.02.2015 |16.05.2015 |
|2          ||Example2 |DELExam5|HIO Wy.1|9999 |01.01.2015 |06.08.2015 |

我已经用这个选择语句尝试过了,但它不起作用:我知道,这只能是答案的一部分......

SELECT *
FROM 
(SELECT 
customerID, company, compdel, Street, Code, Date 1, Date 2, 
ROW_NUMBER() OVER(PARTITION BY compdel ORDER BY customerID) rn
FROM 
table 1) as Y
WHERE 
rn = 1

使用具有不同值(客户 ID、公司等(的GROUP BY,并MINMAX日期

SELECT CustomerId
, Company
, CompDel
, Street
, Code
, MIN(Date1) As EarliestDate1
, MAX(Date2) AS NewestDate2
FROM YourTable
GROUP BY CustomerId, Company, CompDel, Street, Code

最新更新