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” 。
文章图片
执行以下查询:
SELECT "NAME", SUM("SALARY") FROM "EMPLOYEES" GROUP BY "NAME";
输出
文章图片
如何减少冗余 请参阅以下示例:
【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);
输出
文章图片
文章图片
执行以下查询以查看冗余:
SELECT "NAME", SUM("SALARY") FROM "EMPLOYEES"GROUP BY "NAME";
输出
文章图片
注意:
在上面的示例中, 你可以看到当我们使用GROUP BY” NAME” 时, 重复的名称已合并。它指定GROUP BY减少冗余。
推荐阅读
- PostgreSQL IN条件
- FunctorApplicative 和 Monad
- Android中使用commons-codec-1.6.jar 进行Base64编解码出现的问题
- Android动画原理-基础篇(认识View)
- 通过 AppiumDriverLocalSerivce 无法启动 appium service 问题
- Android+Struts2实现简单的前后台交互--Android网络编程
- Android 动态注册JNI函数
- [yum]Another app is currently holding the yum lock
- Android APP开发内容图片不显示