PostgreSQL GROUP BY子句

PostgreSQL GROUP BY子句用于将表中具有相同数据的行组合在一起。它与SELECT语句一起使用。
GROUP BY子句跨多个记录收集数据, 并将结果按一列或多列分组。它还用于减少输出中的冗余。
句法:

SELECT column-listFROM table_nameWHERE [conditions ]GROUP BY column1, column2....columnNORDER BY column1, column2....columnN

注意:如果使用GROUP BY多个列, 请确保要用于分组的任何列, 该列应在column-list中可用。
请参阅以下示例:
我们来看一个具有以下数据的表” EMPLOYEES” 。
PostgreSQL GROUP BY子句

文章图片
执行以下查询:
SELECT "NAME", SUM("SALARY") FROM "EMPLOYEES" GROUP BY "NAME";

输出
PostgreSQL GROUP BY子句

文章图片
如何减少冗余 请参阅以下示例:
【PostgreSQL GROUP BY子句】让我们在” EMPLOYEES” 表中插入一些重复的记录。添加以下数据:
INSERT INTO "EMPLOYEES" VALUES (5, 'Ajeet', 24, 'Delhi', 35000); INSERT INTO "EMPLOYEES" VALUES (6, 'Manisha', 19, 'Noida', 25000); INSERT INTO "EMPLOYEES" VALUES (7, 'Larry', 45, 'Texas', 65000);

输出
PostgreSQL GROUP BY子句

文章图片
PostgreSQL GROUP BY子句

文章图片
执行以下查询以查看冗余:
SELECT "NAME", SUM("SALARY") FROM "EMPLOYEES"GROUP BY "NAME";

输出
PostgreSQL GROUP BY子句

文章图片
注意:
在上面的示例中, 你可以看到当我们使用GROUP BY” NAME” 时, 重复的名称已合并。它指定GROUP BY减少冗余。

    推荐阅读