我有一张表,其中有一列是学生的 grade
。
我们有 A+
和 A
和 A-
和 B+
和 B 和 B-
.
现在我们要将 A+
和 A
以及 A-
都视为 A
。所以 B+
和 B
和 B-
都等于 B
。
如何编写表达式来聚合这个?
问题是数一数 A
和 B?
A+
和 A-
也表示 A.
?
最佳答案
多种方式之一:
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)
。
关于sql - 计算 SQL 中的相似条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391474/