博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PostgreSQL-6-数据分组
阅读量:4646 次
发布时间:2019-06-09

本文共 1116 字,大约阅读时间需要 3 分钟。

基本语法

SELECT column-list FROM table_name

WHERE [ conditions ]

GROUP BY column1, column2

HAVING [ conditions ]

ORDER BY column1, column2

注意顺序 → WHERE - GROUP BY - HAVING - ORDER BY

 

SELECT classno,COUNT(studentname) FROM student GROUP BY classno;  按照classno字段,分组汇总学生数量

SELECT classno,MIN(age),AVG(age) FROM student GROUP BY classno;  查看每个班级年龄最小值/均值

INSERT INTO company3 VALUES(7,'pual',2000);

INSERT INTO company3 VALUES(8,'allen',3000);

INSERT INTO company3 VALUES(9,'teddy',20000);

SELECT name,SUM(salary) FROM company3 GROUP BY name;  多插入一些重复名称的数据,汇总每个员工的总薪水

 

分组+排序

SELECT classno,COUNT(studentname) FROM student GROUP BY classno ORDER BY classno; 按照classno排序

SELECT name,SUM(salary) FROM company3 GROUP BY name ORDER BY SUM(salary);  按照总薪水排序

 

过滤分组,WHERE

SELECT classno,COUNT(studentname) FROM student

       WHERE classno > 2

       GROUP BY classno; WHERE作用与分组前,这里先筛选classno>2的数据,再分组

       注意,这里如果书写:WHERE COUNT(studentname) > 1 就会报错

 

过滤分组,HAVING

SELECT classno,COUNT(studentname) FROM student

       GROUP BY classno

       HAVING COUNT(studentname) > 1; HAVING主要用于过滤分组,且是在分组后进行过滤

       所以一般对于分组的条件过滤,都用HAVING

转载于:https://www.cnblogs.com/swefii/p/10659306.html

你可能感兴趣的文章
进程池-限制同一时间在CPU上运行的进程数
查看>>
HDU - 3001 Travelling
查看>>
kafka笔记-Kafka在zookeeper中的存储结构【转】
查看>>
【bzoj2402】陶陶的难题II 分数规划+树链剖分+线段树+STL-vector+凸包+二分
查看>>
[Javascript] 前端随笔
查看>>
【GIT】git 删除本地分支和远程分支、本地代码回滚和远程代码库回滚
查看>>
MFC【exe】工程中的文件大致信息(翻译的)
查看>>
生成网上下载的EF项目对应的数据库
查看>>
ubuntu下搭建cocos2dx编程环境-上
查看>>
Thread 多线程
查看>>
python wmi模块 获取windows内部信息
查看>>
python 并发编程 多线程 Thread对象的其他属性或方法
查看>>
Linux cloc
查看>>
234. 回文链表
查看>>
Dynamics CRM 开发模板使用手册(插件开发)
查看>>
CentOS下phpMyAdmin安装
查看>>
C# 设置程序不要发送错误报告
查看>>
将json数据格式化展示在页面上
查看>>
mysql-5.6.17-win32免安装版配置
查看>>
Linux下的C语言读写练习(一)(读取键盘输入输出通过文件的方式)
查看>>