我有一张表格,其中包含grade
名学生的专栏
我们有A+
和A
以及A-
和B+
以及B和B-
。
现在我们要将A+
和A
以及A-
都视为A
。因此B+
和B
以及B-
都等于B
。
如何编写表达式来聚合这个?
问题是计算A
和B?
A+
和A-
还有多少A.
?
答案 0 :(得分:1)
许多人的一种方式:
SELECT left(grade, 1) as base_grade, count(*) AS ct
FROM tbl
GROUP BY 1
ORDER BY 1
left()
要求Postgres 9.1+。否则使用substring(grade, 1, 1)
。