更新时间:2025-09-11 GMT+08:00
分组查询
分组查询通常用于配合聚合函数,查询分类统计的信息。常见的聚合函数有总行数count()、求和sum()、平均值avg()、最小值min()、最大值max()。一般和GROUP BY联合使用。
-- 建表并插入数据
m_db=# CREATE TABLE student (id INT,name VARCHAR(20),class INT);
m_db=# INSERT INTO student VALUES (1, 'Scott', 1), (2, 'Ben', 1);
m_db=# INSERT INTO student VALUES (3, 'Jack', 2),(4, 'Anna', 2),(5, 'Judy', 2);
m_db=# INSERT INTO student VALUES (6, 'Sally', 3), (7, 'Jordan', 3);
--使用聚合函数COUNT()统计每个班级有多少人。
m_db=# SELECT class, count(*) AS cnt FROM student GROUP BY class;
class | cnt
-------+-----
2 | 3
1 | 2
3 | 2
(3 rows)
--使用HAVING子句过滤人数少于3个的班级数据。
m_db=# SELECT class, COUNT(*) AS num FROM student GROUP BY class HAVING COUNT(*) < 3;
class | num
-------+-----
1 | 2
3 | 2
(2 rows)
--删除。
m_db=# DROP TABLE student;
父主题: SELECT