- PostgreSQL是什么?
- PostgreSQL历史
- PostgreSQL特点
- PostgreSQL命令语法大全
- PostgreSQL数据类型
- PostgreSQL安装(Windows)
- PostgreSQL创建数据库
- PostgreSQL删除数据库
- PostgreSQL创建表
- PostgreSQL删除表
- PostgreSQL模式(架构)
-
查询
- PostgreSQL插入数据(INSERT语句)
- PostgreSQL查询数据(SELECT语句)
- PostgreSQL更新数据(UPDATE语句)
- PostgreSQL删除数据(DELETE语句)
- PostgreSQL ORDER BY子句
- PostgreSQL分组(GROUP BY子句)
- PostgreSQL Having子句
- PostgreSQL条件查询
- PostgreSQL AND条件
- PostgreSQL OR条件
- PostgreSQL AND & OR条件
- PostgreSQL NOT条件
- PostgreSQL LIKE条件
- PostgreSQL IN条件
- PostgreSQL NOT IN条件
- PostgreSQL BETWEEN条件
- 连接
- 高级部分
- 程序连接接口
PostgreSQL分组(GROUP BY子句)
PostgreSQL GROUP BY
子句用于将具有相同数据的表中的这些行分组在一起。 它与SELECT
语句一起使用。
GROUP BY
子句通过多个记录收集数据,并将结果分组到一个或多个列。 它也用于减少输出中的冗余。
语法:
SELECT column-list FROM table_name WHERE [conditions ] GROUP BY column1, column2....columnN ORDER BY column1, column2....columnN
注意:在
GROUP BY
多个列的情况下,您使用的任何列进行分组时,要确保这些列应在列表中可用。
看看下面的例子:
我们来看一下表“EMPLOYEES
”,具有以下数据。
执行以下查询:
SELECT NAME, SUM(SALARY) FROM EMPLOYEES GROUP BY NAME;
查询得到如下结果 -
如何减少冗余数据:
再来看看下面这个例子:
我们在“EMPLOYEES
”表中插入一些重复的记录。添加以下数据:
INSERT INTO EMPLOYEES VALUES (6, '李洋', 24, '深圳市福田区中山路', 135000); INSERT INTO EMPLOYEES VALUES (7, 'Manisha', 19, 'Noida', 125000); INSERT INTO EMPLOYEES VALUES (8, 'Larry', 45, 'Texas', 165000);
现在有以下数据,有一些数据是重复的 -
执行以下查询以消除冗余:
SELECT NAME, SUM(SALARY) FROM EMPLOYEES GROUP BY NAME;
上面的SQL语句是按名字(NAME
)执行分组统计每个名字的薪水总额,如:两个名字叫作李洋的薪水总额是:320000
等等,得到结果如下 -
在上面的例子中,当我们使用GROUP BY NAME
时,可以看到重复的名字数据记录被合并。 它指定GROUP BY
减少冗余。
关注微信小程序
扫描二维码
程序员编程王