时间:2015-07-14 22:10:41

标签: sql-server tsql

我需要分组后的行数。

SELECT COUNT(CheckNumber)
FROM myTable
WHERE Status = 'Good'
GROUP BY CheckNumber

结果:

Row 1 = 1
Row 2 = 15
Row 3 = 5

我也尝试过使用DISTINCT

SELECT COUNT(DISTINCT CheckNumber)
FROM myTable
WHERE Status = 'Good'
GROUP BY CheckNumber

结果:

Row 1 = 1
Row 2 = 1
Row 3 = 1

我希望结果为3

2 个答案:

答案 0 :(得分:1)

在我看来,GROUP BY根据你想要的内容完全是多余的。为什么不呢:

SELECT COUNT(distinct CheckNumber) 
FROM myTable
WHERE Status = 'Good'

答案 1 :(得分:0)

如果我理解正确,你可以这样做:

SELECT COUNT(*) FROM
(
   SELECT COUNT(CheckNumber)
   FROM myTable
   WHERE Status = 'Good'
   GROUP BY CheckNumber
) as myData

根据要求,这应该给你总共3个。