第53章 SQL GROUP BY 语句教程
GROUP BY 语句可结合一些聚合函数来使用
GROUP BY 语句
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
SQL GROUP BY 语法
SELECT column_name, aggregate_function(column_name)FROM table_nameWHERE column_name operator valueGROUP BY column_name;
演示database
在本教程中,咱们将使用 liulianjiangcsdn 样本database。
下面是选自 “Websites” 表的数据:
+----+--------------+---------------------------+-------+---------+| id | name | url | alexa | country |+----+--------------+---------------------------+-------+---------+| 1 | Google | https://www.google.cm/ | 1 | USA || 2 | 淘宝 | https://www.taobao.net/ | 13 | CN || 3 | liulianjiangcsdn教程 | http://blog.csdn.net/qq441540598/ | 4689 | CN || 4 | 微博 | http://weibo.net/ | 20 | CN || 5 | Facebook | https://www.facebook.net/ | 3 | USA || 7 | stackoverflow | http://stackoverflow.net/ | 0 | IND |+----+---------------+---------------------------+-------+---------+
下面是 “access_log” 网站访问记录表的数据:
mysql> SELECT * FROM access_log;+-----+---------+-------+------------+| aid | site_id | count | date |+-----+---------+-------+------------+| 1 | 1 | 45 | 2023-05-10 || 2 | 3 | 100 | 2023-05-13 || 3 | 1 | 230 | 2023-05-14 || 4 | 2 | 10 | 2023-05-14 || 5 | 5 | 205 | 2023-05-14 || 6 | 4 | 13 | 2023-05-15 || 7 | 3 | 220 | 2023-05-15 || 8 | 5 | 545 | 2023-05-16 || 9 | 3 | 201 | 2023-05-17 |+-----+---------+-------+------------+9 rows in set (0.00 sec)
GROUP BY 简单应用
统计 access_log 各个 site_id 的访问量:
实例SELECT site_id, SUM(access_log.count) AS numsFROM access_log GROUP BY site_id;执行以上 SQL 输出结果请在输出结果查看
+---------+------+
| site_id | nums |
+---------+------+
| 1 | 275 |
| 2 | 10 |
| 3 | 521 |
| 4 | 13 |
| 5 | 750 |
| 6 | 111 |
+---------+------+
SQL GROUP BY 多表连接
下面的 SQL 语句统计有记录的网站的记录数量:
实例SELECT Websites.name,COUNT(access_log.aid) AS nums FROM access_logLEFT JOIN WebsitesON access_log.site_id=Websites.idGROUP BY Websites.name;执行以上 SQL 输出结果请在输出结果查看
+------------------+------+
| name | nums |
+------------------+------+
| Facebook | 2 |
| Google | 2 |
| liulianjiang教程 | 3 |
| 微博 | 1 |
| 淘宝 | 1 |
| 百度 | 1 |
+------------------+------+
本专栏所有文章
第1章 SQL 教程 | 第2章 SQL 简介教程 |
---|---|
第3章 SQL 语法教程 | 第4章 SQL SELECT教程 |
第5章 SQL SELECT DISTINCT教程 | 第6章 SQL WHERE教程 |
第7章 SQL AND & OR教程 | 第8章 SQL ORDER BY教程 |
第9章 SQL INSERT INTO教程 | 第10章 SQL UPDATE教程 |
第11章 SQL DELETE教程 | 第12章 SQL SELECT TOP教程 |
第13章 SQL LIKE教程 | 第14章 SQL 通配符教程 |
第15章 SQL IN教程 | 第16章 SQL BETWEEN教程 |
第17章 SQL 别名教程 | 第18章 SQL 连接(JOIN)教程 |
第19章 SQL INNER JOIN教程 | 第20章 SQL LEFT JOIN教程 |
第21章 SQL RIGHT JOIN教程 | 第22章 SQL FULL JOIN教程 |
第23章 SQL UNION教程 | 第24章 SQL SELECT INTO教程 |
第25章 SQL INSERT INTO SELECT教程 | 第26章 SQL CREATE DATABASE教程 |
第27章 SQL CREATE TABLE教程 | 第28章 SQL 约束教程 |
第29章 SQL NOT NULL教程 | 第30章 SQL UNIQUE教程 |
第31章 SQL PRIMARY KEY教程 | 第32章 SQL FOREIGN KEY教程 |
第33章 SQL CHECK教程 | 第34章 SQL DEFAULT教程 |
第35章 SQL CREATE INDEX教程 | 第36章 SQL DROP教程 |
第37章 SQL ALTER教程 | 第38章 SQL Auto Increment教程 |
第39章 SQL 视图教程 | 第40章 SQL 日期教程 |
第41章 SQL NULL 值教程 | 第42章 SQL NULL 函数教程 |
第43章 SQL 通用数据类型教程 | 第44章 SQL DB 数据类型教程 |
第45章 SQL 函数教程 | 第46章 SQL AVG()教程 |
第47章 SQL COUNT()教程 | 第48章 SQL FIRST()教程 |
第49章 SQL LAST()教程 | 第50章 SQL MAX()教程 |
第51章 SQL MIN()教程 | 第52章 SQL SUM()教程 |
第53章 SQL GROUP BY教程 | 第54章 SQL HAVING教程 |
第55章 SQL EXISTS教程 | 第56章 SQL UCASE()教程 |
第57章 SQL LCASE()教程 | 第58章 SQL MID()教程 |
第59章 SQL LEN()教程 | 第60章 SQL ROUND()教程 |
第61章 SQL NOW()教程 | 第62章 SQL FORMAT()教程 |
第63章 SQL 快速参考教程 | 第64章 SQL 主机教程 |
第65章 SQL 总结教程 |
寄语
本文有榴莲酱CSDN原创,欢迎点赞、转载,博客地址:https://blog.csdn.net/qq441540598
- 时间就是这样从我们指间流失的,谁也没有去在意。
- 生活中存在许多不平衡的现象,工作中存在许多不平等的关系。老话说吃亏是福,俗语说沉默是金。不责人之过,不念人旧恶,成功早知道,明天会更好。
- 人生不是完全按照舞台上的原则来办事的。斯蒂文生
- 你与鸟儿一同飘逸而来,没有华丽的语言,默默地用有限的生命诠释出美丽的永恒。你激流勇退,甘愿奉献出无怨无悔的一切,用短暂的生命谱写出一曲曲动人的歌谣,用火红的诗句赞美你一生不朽的篇章。红叶如诗。
- 坚持就是胜利,只有你努力了才不会留下遗憾。
第53章 SQL GROUP BY 语句教程相关推荐
- 第9章 SQL INSERT INTO 语句教程
INSERT INTO 语句用于向表中插入新记录. SQL INSERT INTO 语法 INSERT INTO 语句可以有两种编写形式. 第一种形式无需指定要插入数据的列名,只需提供被插入的值即可: ...
- 第5章 SQL SELECT DISTINCT 语句教程
SELECT DISTINCT 语句用于return 唯一不同的值. 第5章 SQL SELECT DISTINCT 语句教程 在表中,一个列可能会包含多个重复值,有时也许希望仅仅列出不同(disti ...
- 第24章 SQL SELECT INTO 语句教程
通过 SQL,可以从一个表复制信息到另一个表. SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中. 注意: MySQL database不支持 SELECT - INTO 语 ...
- 第8章 SQL ORDER BY 关键字教程
ORDER BY 关键字用于对结果集进行排序. ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序. ORDER BY 关键字默认按照升序对记录进行排序.如果需要按照降序对记录进行排序, ...
- SQL GROUP BY 语句
合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句. GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组. SQL GROUP BY 语法 ...
- 第4章 SQL SELECT 语句教程
SELECT 语句用于从database中选取数据. 第4章 SQL SELECT 语句教程 SELECT 语句用于从database中选取数据. 结果被存储在一个结果表中,称为结果集. SQL SE ...
- 第10章 SQL UPDATE 语句教程
UPDATE 语句用于更新表中已存在的记录. SQL UPDATE 语法 UPDATE table_nameSET column1 = value1, column2 = value2, ...WHE ...
- 第16章 SQL BETWEEN 操作符教程
BETWEEN 操作符用于选取介于两个值之间的数据范围内的值. BETWEEN 操作符选取介于两个值之间的数据范围内的值.这些值可以是数值.文本或者日期. SQL BETWEEN 语法 SELECT ...
- 第56章 SQL UCASE() 函数教程
SQL UCASE() 函数 UCASE() 函数 UCASE() 函数把字段的值转换为大写. SQL UCASE() 语法 SELECT UCASE(column_name) FROM table_ ...
最新文章
- Html,Css,Javascript是什么?
- python学会后再学c_目前python熟练 ,想再学golang 需要先学c吗?
- 谈谈java的线程池(创建、机制)
- VTK:可视化之BackgroundGradient
- Shell入门(四)之数组
- c语言n次方怎么输入_C语言实现斐波拉契数列
- servlet如何使用session把用户的手机号修改_SpringBoot源码学习系列之嵌入式Servlet容器...
- 量化交易(图文版其二)
- Hazelcast更换CEO,承诺继续造福开源社区
- 如何实现一个Servlet中的多个功能
- Android热修复技术初探(三):动态加载外部资源
- shell脚本循环嵌套
- javascript调试
- C4996	'sprintf': This function or variable may be unsafe.
- jquery的历史版本
- Origin修改安装位数
- SpringBoot 发送邮件和附件
- Android使用FFmpeg 解码H264并播放(三)
- 三维模型是什么?3D建模都有什么用处?
- 三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经
热门文章
- C# Contract诊断
- Python字典用法大全Dict
- 本地局域网内添加DNS解析的方法
- 随心所欲大小写转换自定义函数
- Protobuf是什么
- 外键 ‘FK__ICBCCard__CardID__3E1D39E1‘ 引用了位于被引用表 ‘StudentCard‘ 中的无效列 ‘CardID‘。
- 解决GitHub连不上的问题fatal: unable to access ‘https://github.com/..’: Failed to connect to github.com port
- 解决 FileNotFoundError: [WinError 2] 系统找不到指定的文件
- 【Bug】ValueError: Solver lbfgs supports only ‘l2‘ or ‘none‘ penalties, got l1 penalty
- Spring Cloud(十一):Hystrix服务熔断-工作流程