这是我在sql-server中的表结构:
id Marks
---------- -----------
AAA 50
KKK 87
KKK 89
BBB 48
CCC 54
AAA 52
DDD 55
BBB 60
XXX 99
这是所需的输出:
Name attempts Max Mark
------- ---------------- ------------
AAA 2 52
kkk 2 89
BBB 2 60
CCC 1 54
DDD 1 55
XXX 1 99
我已经尝试过了,但是似乎不正确:
SELECT
name,
count(*) as attempts,
max(marks)
FROM table_name
GROUP BY name, attempts, max_marks
您处在正确的轨道上,只是增加了过多的分组字段
SELECT id AS name
,COUNT(*) AS Attempts
,MAX(marks) as MaxMarks
FROM table_name
GROUP BY id
如果您的列已经是诸如之类的聚合函数的一部分,MAX
或者COUNT
它不需要包含在GROUP BY
子句中
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句