PostgreSQL GROUP BY子句
PostgreSQL的 GROUP BY 子句与SELECT语句一起使用,用于将表中具有相同数据的行进行分组。这样做可以消除输出中的冗余,并/或计算适用于这些分组的聚合。
GROUP BY子句紧跟在SELECT语句的WHERE子句之后,并在ORDER BY子句之前。
语法
GROUP BY子句的基本语法如下。GROUP BY子句必须在WHERE子句中的条件之后,并且如果使用ORDER BY子句,则必须在其前面。
GROUP BY子句中可以使用多个列。请确保您用来分组的列在列列表中可用。
示例
考虑以下记录的表 COMPANY
如果您想知道每个客户的总工资金额,则GROUP BY查询如下所示−
这将产生以下结果 –
现在,让我们使用以下INSERT语句在COMPANY表中创建三个新记录。
现在,我们的表中有以下重复名称的记录 –
再次,让我们使用相同的语句按照姓名列对所有记录进行分组,如下所示 –
这将产生以下结果 –
让我们将ORDER BY子句与GROUP BY子句一起使用,如下所示−
这将产生以下结果: