Postgresql 专题
专题目录
您的位置:database > Postgresql专题 > PostgreSQL分组(GROUP BY子句)
PostgreSQL分组(GROUP BY子句)
作者:--    发布时间:2019-11-20

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减少冗余。


网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册