基本语法

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

最新文章

  1. HTML中em与b等的区别
  2. jxl.dll操作总结
  3. 无线网络(WLAN)常见加密方式介绍
  4. C#调用R语言输出图片
  5. css 样式
  6. 浙大pat 1031题解
  7. [Flask]学习杂记--模板
  8. IDEA打包jar包
  9. LGOJ P3919【模板】可持久化数组(可持久化线段树/平衡树)
  10. Java面向对象 第6节 异常
  11. STM8S ------ VCAP download
  12. BZOJ.5068.友好的生物(思路)
  13. windows“启动”对应的路径
  14. 【转】np.linspace()、np.logspace()、np.arange()
  15. windowmasker 标记基因组中的重复序列和低复杂度序列
  16. 华为P10闪存门
  17. Linux yum提示Loaded plugins错误的解决方法
  18. Python 爬虫(2)多线程
  19. .net 编码常见问题
  20. InternalNative.cpp

热门文章

  1. Hibernate总结(转)
  2. 谷歌浏览器使用SelectorGadget和Xpath Helper获取xpath和css path
  3. iOS 打开应用与系统功能的调用
  4. php设计模式之--组合模式
  5. maven资料
  6. Mybatis设置sql超时时间
  7. Java深度理解——Java字节代码的操纵
  8. Peach+Fuzzer
  9. Web app root system property already set to different value: 'webapp.root'
  10. mongodb给我们提供了fsync+lock机制把数据暴力的刷到硬盘上