前提:SQL函数的两个概念

聚敛函数:对多条记录进行操作的函数,如SUM、COUNT、MIN、MAX、AVG。

其他函数:对单条记录进行操作的函数,如ABS、CEIL、SQRT等。

举个例子:

SELECT ABS(xxx) FROM tbl;  -- 这里的ABS函数,就是对单条记录进行操作的函数。

SELECT COUNT(*) FROM tbl;  -- 这里的COUNT函数,就是对多条记录进行操作的函数。

再来看看 group by:

group by 后面跟随的只能是字段!顾名思义,是按照某个字段进行分组!!!分组之后呢?当然是要进行某些操作了。

顾名思义,group by 就是“按照组”来进行某些操作。

既然是分组后的操作,那必定是多条记录,所以只能使用聚敛函数(当然也可以什么函数都不用)。

想一下,按照组是按照什么组??? 这就是由 group by 后面跟随的字段来决定了。

举个例子,我们有一个表teacher,它有四个字段:id INT, name CHAR, gender CHAR, major INT 。

我们能怎么分组?当然只能在这些字段中分组了!

例如,按照性别gender来分组,或者按照专业major来分组。

>>>>>>>>>>>未完待续· 研究下MySQL是很有意思的事情

参考:

https://dev.mysql.com/doc/refman/5.7/en/group-by-functions.html

https://dev.mysql.com/doc/refman/5.7/en/group-by-modifiers.html

https://dev.mysql.com/doc/search/?d=12&p=1&q=group+by

http://uule.iteye.com/blog/1569262

group by 小结的更多相关文章

  1. ORA-10922 Temporary tablespace group is empty错误

    错误--练习查询,发现报错: SQL>  select * from range_list_part_tab where id=100000Execution Plan------------- ...

  2. MySQL的日志(二):事务日志

    本文目录:1.redo log 1.1 redo log和二进制日志的区别 1.2 redo log的基本概念 1.3 日志块(log block) 1.4 log group和redo log fi ...

  3. 详细分析MySQL事务日志(redo log和undo log)

    innodb事务日志包括redo log和undo log.redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作. undo log不是redo log的逆向过程,其实它 ...

  4. 详细分析MySQL事务日志(redo log和undo log) 表明了为何mysql不会丢数据

    innodb事务日志包括redo log和undo log.redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作. undo log不是redo log的逆向过程,其实它 ...

  5. Mysql 5.7 基于组复制(MySQL Group Replication) - 运维小结

    之前介绍了Mysq主从同步的异步复制(默认模式).半同步复制.基于GTID复制.基于组提交和并行复制 (解决同步延迟),下面简单说下Mysql基于组复制(MySQL Group Replication ...

  6. Group By 多个分组集小结 --GROUPING SETS,GROUP BY CUBE,GROUP BY ROLLUP,GROUPING(),GROUPING_ID()

    T-SQL 多个分组集共有三种 GROUPING SETS, CUBE, 以及ROLLUP, 其中 CUBE和ROLLUP可以当做是GROUPING SETS的简写版 示例数据库下载: http:// ...

  7. oracle sql小结(主要讲横列转换的例子)group by以及wmsys.wm_concat()的使用

    ---计算九月每个电厂的数量select f_dcname,count(f_dcname) as 九月份的数量 from W_EC_PLACESTATION_COLLECT twhere f_coll ...

  8. analyticdb(ADB) group by 用法小结

    虽说analyticdb(ADB)是支持mysql协议的,但有些具体细节用法是有些区别. 1.group by 字段 mysql group by select id,title,describe w ...

  9. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

随机推荐

  1. HTML5学习笔记(十六):原型、类和继承【JS核心知识点】

    理解原型 在JavaScript中,只要声明了一个函数,就会为该函数创建一个名为prototype的属性,该属性指向当前函数的原型对象. 而函数的原型对象有一个constructor属性,该属性指向刚 ...

  2. scala future

    https://docs.scala-lang.org/overviews/core/futures.html https://docs.scala-lang.org/overviews/index. ...

  3. Flink PPT

    杭州第六次 Spark & Flink Meetup 资料分享 https://github.com/397090770/Spark-Flink-Meetup-6-Hangzhou https ...

  4. JAVA CAS原理深度分析 volatile,偏向锁,轻量级锁

    JAVA CAS原理深度分析 http://blog.csdn.net/hsuxu/article/details/9467651 偏向锁,轻量级锁 https://blog.csdn.net/zqz ...

  5. [Windows Azure] Monitoring SQL Database Using Dynamic Management Views

    Monitoring Windows Azure SQL Database Using Dynamic Management Views 5 out of 7 rated this helpful - ...

  6. javascript基础拾遗(十)

    1.支持ES6标准的浏览器 IE10+ Chrome Safari Firefox 移动端浏览器统一都支持 需要注意的是,不同浏览器对各个特性的支持也不一样 2.window对象 当前浏览器窗口对象 ...

  7. 每日英语:How the College Bubble Will Pop

    The American political class has long held that higher education is vital to individual and national ...

  8. running boot2docker -> error in run: Failed to get machine “boot2docker-vm”: machine does not exist

    登陆和使用.详细请看.....https://github.com/boot2docker/boot2docker boot2docker start error in run: Failed to ...

  9. Quo JS多种触摸手势轻量级JavaScript库

    http://www.uedsc.com/quo-js.html http://quojs.tapquo.com/

  10. java多线程20 : ReentrantLock中的方法 ,公平锁和非公平锁

    公平锁与非公平锁 ReentrantLock有一个很大的特点,就是可以指定锁是公平锁还是非公平锁,公平锁表示线程获取锁的顺序是按照线程排队的顺序来分配的,而非公平锁就是一种获取锁的抢占机制,是随机获得 ...