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