检索跨多个列的非重复计数

Retrieving the distinct count across multiple columns

假设我在 MS SQL 服务器中有以下 table:

Make Model Year
Honda Accord 1997
Honda Accord 1997
Honda Accord 1997
Honda Civic 2001
Honda Civic 2005
Honda Civic 2005
Toyota Corolla 2010
Nissan Pathfinder 1997

我希望能够检索唯一组合的计数并获得如下结果:

Make Model Year Count
Honda Accord 1997 3
Honda Civic 2001 1
Honda Civic 2005 2
Toyota Corolla 2010 1
Nissan Pathfinder 1997 1

我认为我可以使用 COUNT(DISTINCT()) 之类的东西,但是跨多个列的 COUNT(DISTINCT()) 在 MS SQL 服务器中无效。我觉得我必须使用 GROUP BY,但我不确定从哪里开始。

它只是分组并计算它们:

select Make ,Model, Year, COUNT(*)
from your table 
group by Make ,Model, Year

您可以用实际的 table 名称替换您的table。

Select Make,
       Model,
       Year,
       count(*) Count
From yourtable
Group by Make,
         Model,
         Year