sql - 计算 SQL 中的相似条目

标签 sql postgresql pattern-matching aggregate-functions

我有一张表,其中有一列是学生的 grade
我们有 A+AA-B+ 和 B 和 B- .
现在我们要将 A+A 以及 A- 都视为 A。所以 B+BB- 都等于 B

如何编写表达式来聚合这个? 问题是数一数 AB? 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/

相关文章:

mysql - 如何使用curdate实现查询?

python - 使用 SQLAlchemy 的 PostgreSQL ILIKE 查询

c++ - 模式匹配

识别 R 向量中的特定元素顺序模式

sql - SQL 中相应掩码的计数值

Haskell - 模式中守卫右侧使用通配符

mysql - Laravel 5.8/Mysql : Cannot delete or update a parent row a foreign key constraint fails

python sql间隔

php - SQL从两个表中选择行,其中一列是公共(public)的,但另一列可能为空

javascript - 是否可以在 PostgreSQL 中使用 knex returning() 方法返回操作表中的所有行