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

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

 

 每门学科最低的分数和人

SELECT * FROM stuWHERE (stu.`score`,stu.`course`)IN(SELECT MIN(score),course FROM stu GROUP BY course)

 

分组前的筛选 原始表 筛选条件位于group by子句之前 where关键字   不能在where 后使用组函数

分组后的筛选 分组后的结果 筛选条件位于group by子句之后 having关键字

 

常用的组函数:

求平均值

统计行的数量

求最大值

求最小值

求累加和

 

如果统计的列中只有NULL值,那么MAX和MIN就返回NULL

 

默认情况下,组函数忽略列值为null的行,不参与计算

 

 2)组函数不允许嵌套,例如:count(max(…));

 3)组函数的参数可以是列或是函数表达式;

 4)一个SELECT子句中可出现多个聚集函数。

注意:要想列值为NULL的行也参与组函数的计算,必须使用IFNULL函数对NULL值做转换。

 

 

SELECT select_expr [, select_expr ...]    [FROM table_references      [PARTITION partition_list]    [WHERE where_condition]    [GROUP BY {col_name | expr | position}      [ASC | DESC], ... [WITH ROLLUP]]    [HAVING where_condition]    [ORDER BY {col_name | expr | position}      [ASC | DESC], ...] [LIMIT {[offset,] row_count | row_count OFFSET offset}]

1)HAVING可以单独使用而不和GROUP BY配合,如果只有HAVING子句而没有GROUP BY,表中所有的行分为一组

 

2)HAVING子句中可以使用组函数

 

3)HAVING子句中的列,要么出现在一个组函数中,要么出现在GROUP BY子句中(否则出错)

 

 

 

转载于:https://www.cnblogs.com/jentary/p/11583452.html

你可能感兴趣的文章
sed示例
查看>>
html之框架标签
查看>>
洛谷P4401 [IOI2007]Miners 矿工配餐
查看>>
C#学习之Dispose
查看>>
贪吃蛇修改提交
查看>>
中冶赛迪
查看>>
linux 配置ip地址
查看>>
201521123028 《Java程序设计》第12周学习总结
查看>>
如何在 .Net Framework 4.0 项目上使用 OData?
查看>>
填坑...P1546 最短网络 Agri-Net
查看>>
双嵌段高分子的跨膜传输
查看>>
LeetCode -- Reverse Linked List II
查看>>
Ubuntu16.10下使用VSCode开发.netcore
查看>>
异面直线判定
查看>>
[转载]Java基础学习总结——Java对象的序列化和反序列化
查看>>
MongoDB小结09 - update【定位修改器】
查看>>
[HNOI/AHOI2018]转盘
查看>>
2016.8.26 Windows系统上 搭建 Java环境
查看>>
C-Linux_定时器示例使用
查看>>
Python进阶(面向对象编程基础)(二)
查看>>