列的唯一计数?

时间:2009-09-15 04:26:30

标签: sql sql-server sql-server-2005 tsql

我想获得包含相似或不同数据的多列的唯一计数...我正在使用sql server 2005 ...对于一列我能够采取唯一计数...但是要采取一次计数多列,查询是什么?

3 个答案:

答案 0 :(得分:2)

您可以运行以下选定项,从派生表中获取数据:

select count(*) from (select distinct c1, c2, from t1) dt

答案 1 :(得分:0)

要获取组合唯一列值的计数,请使用

SELECT COUNT(*) FROM TableName GROUP BY UniqueColumn1, UniqueColumn2

要获取多个单独列的唯一计数,请使用

SELECT COUNT(DISTINCT Column1), COUNT(DISTINCT Column2)
FROM TableName

您的问题并不清楚您想要实现的目标。

答案 2 :(得分:0)

我认为您所获得的是一个查询中来自两个唯一列的单个SUMS。我能够使用

完成此任务
SELECT FiscalYear, SUM(Col1) AS Col1Total, SUM(Col2) AS Col2Total
FROM TableName
GROUP BY FiscalYear

如果您的数据本质上不是数字,则可以使用CASE语句

SELECT FiscalYear, SUM(CASE WHEN ColA = 'abc' THEN 1 ELSE 0 END) AS ColATotal,
   SUM(CASE WHEN ColB = 'xyz' THEN 1 ELSE 0 END) AS ColBTotal
FROM TableName
GROUP BY FiscalYear

希望这有帮助!