sql分组。。。事情
我有以下数据:sql分组。。。事情,sql,Sql,我有以下数据: ID Country City Type Qty SomeDate SomeDate1 SomeDate2 1 Canada Ontario Type1 1 01/01/2009 02/02/2009 03/03/2009 2 Canada Ontario Type2 1 01/01/2009 02/02/2009 03/03/2009 3 Germany Berlin Type1
ID Country City Type Qty SomeDate SomeDate1 SomeDate2
1 Canada Ontario Type1 1 01/01/2009 02/02/2009 03/03/2009
2 Canada Ontario Type2 1 01/01/2009 02/02/2009 03/03/2009
3 Germany Berlin Type1 1 03/01/2007 02/01/2008 04/03/2006
4 Germany Berlin Type1 3 03/01/2007 02/01/2008 04/03/2006
我需要输出为:
ID Country City Qty SomeDate SomeDate1 SomeDate2
1 Canada Ontario 2 01/01/2009 02/02/2009 03/03/2009
3 Germany Berlin 4 03/01/2007 02/01/2008 04/03/2006
同一城市之间的日期是相同的
那么,怎么做呢?这很简单。你真的应该考虑学习SQL基础知识。你也需要在GROUPBY子句中选择列表中的所有列。@费兹:这是不正确的。您在正在聚合的GROUP BY子句中不包括列。是的,我应该说选择列表中的所有非聚合列。抱歉…ID和Qty不应包含在GROUP BY子句中,因为您正在这些列上进行聚合。
SELECT
MIN(ID),
Country,
City,
SUM(Qty),
SomeDate,
SomeDate1,
SomeDate2
FROM
MyTable
GROUP BY
Country,
City,
SomeDate,
SomeDate1,
SomeDate2
SELECT MIN(ID), Country, City, SUM(Qty), MIN(SomeDate), MIN(SomeDate1), MIN(SomeDate2)
FROM myTable
GROUP BY Country, City
SELECT MIN(ID) AS ID, Country, City, SUM(Qty) AS Qty, SomeDate, SomeDate1, SomeDate2
FROM Table
Group BY Country, City, SomeDate, SomeDate1, SomeDate2
SELECT MIN(ID),
Country,
City,
SUM(Qty) AS Qty,
MIN(SomeDate) AS SomeDate,
MIN(SomeDate1) AS SomeDate1,
MIN(SomeDate2) AS SomeDate2
FROM sourceTable
GROUP BY Country, City;