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多个列, 请确保要用于分组的任何列, 该列应在column-list中可用。
请参阅以下示例:
我们来看一个具有以下数据的表” EMPLOYEES”。
执行以下查询:
SELECT "NAME", SUM("SALARY")
FROM "EMPLOYEES"
GROUP BY "NAME";
输出
如何减少冗余
请参阅以下示例:
让我们在” 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);
输出
执行以下查询以查看冗余:
SELECT "NAME", SUM("SALARY")
FROM "EMPLOYEES"
GROUP BY "NAME";
输出
注意:
在上面的示例中, 你可以看到当我们使用GROUP BY” NAME”时, 重复的名称已合并。它指定GROUP BY减少冗余。
评论前必须登录!
注册