【发布时间】:2016-08-15 06:22:12
【问题描述】:
我有学生和评估表。必须返回所有评分的重复次数,但没有 MIN 和 MAX 重复次数等级。
当我运行这个查询时:
SELECT
[Grade],
COUNT([Grade]) AS [Number of repetitions]
FROM [Test].[dbo].[Evaluation]
GROUP BY Grade
我有这个结果,没关系,但是如何在没有 MIN 和 MAX 重复次数的情况下显示此查询。(在这种情况下为 6 - 120 和 10 - 4)
Grade Number of repetitions
6 120
7 35
8 93
9 25
10 4
我用这种方式尝试了 HAVING,但它不起作用。这是 SQL 中的消息:“无法对包含聚合或子查询的表达式执行聚合函数”
SELECT
[Grade],
COUNT([Grade]) AS [Number of repetitions]
FROM [Test].[dbo].[Evaluation]
GROUP BY Grade
HAVING COUNT([Grade) > (SELECT MIN(COUNT([Grade])) FROM [Test][dbo].[Evaluation] GROUP BY Grade)
AND
HAVING COUNT([Grade) < (SELECT MAX(COUNT([Grade])) FROM [Test][dbo].[Evaluation] GROUP BY Grade)
非常感谢。
【问题讨论】:
-
你用的是什么数据库?
-
MS SQL Server 2012
标签: sql sql-server max min having