对多列进行分组

时间:2013-04-11 19:46:33

标签: sql sql-server-2008

我有一个包含以下列的表:

Id(int), StoreId(int), StoreCode(nvarchar), StartDate(date), EndDate(date)

它有一些记录具有相同的StoreId,StartDate,EndDate,但具有不同的StoreCodes。我想选择这些商店代码(其余数据在两个或多个记录中重复)。 如何正确分组?

1 个答案:

答案 0 :(得分:2)

SELECT  StoreId, StoreDate, EndDate, COUNT(DISTINCT StoreCode) AS Count
FROM MyTableName
GROUP BY StoreId, StoreDate, EndDate
HAVING COUNT(DISTINCT StoreCode) > 1

当至少发生2次时,将返回(StoreId,StoreDate,EndDate)组合以及与该组合关联的DISTINCT StoreCode个数。