group by 与 order by的用法
group by 与 order by的用法
GROUP BY 语句用于结合聚合函数,根据一个或多个列对结果集进行分组。
SQL GROUP BY 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name;
下面是 “access_log” 网站访问记录表的数据:
mysql> SELECT * FROM access_log;
±----±--------±------±-----------+
| aid | site_id | count | date |
±----±--------±------±-----------+
| 1 | 1 | 45 | 2016-05-10 |
| 2 | 3 | 100 | 2016-05-13 |
| 3 | 1 | 230 | 2016-05-14 |
| 4 | 2 | 10 | 2016-05-14 |
| 5 | 5 | 205 | 2016-05-14 |
| 6 | 4 | 13 | 2016-05-15 |
| 7 | 3 | 220 | 2016-05-15 |
| 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
±----±--------±------±-----------+
9 rows in set (0.00 sec)
GROUP BY 简单应用
统计 access_log 各个 site_id 的访问量:
实例
SELECT site_id, SUM(access_log.count) AS nums
FROM access_log GROUP BY site_id;
HAVING 子句
在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与聚合函数一起使用。
HAVING 子句可以让我们筛选分组后的各组数据。
SQL HAVING 语法
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;
where 和having之后都是筛选条件,但是有区别的:
1.where在group by前, having在group by 之后
2.聚合函数(avg、sum、max、min、count),不能作为条件放在where之后,但可以放在having之后
SQL ORDER BY 关键字
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。
SQL ORDER BY 语法
SELECT column_name,column_name
FROM table_name
ORDER BY column_name,column_name ASC|DESC;
默认是升序排序的。
group by 与 order by的用法相关推荐
- SQL语句where,Group By,having order by 的详细使用方法
为什么80%的码农都做不了架构师?>>> 1. Group By 语句简介: Group By语句从英文的字面意义上理解就是"根据(by)一定的规则进行分组(Grou ...
- 查询语句中select from where group by having order by的执行顺序
查询语句中select from where group by having order by的执行顺序 1.查询中用到的关键词主要包含六个,并且他们的顺序依次为 select--from--whe ...
- sql grop by having order by 的用法
GROUP BY 语句 group by 一般和聚合函数一起使用,根据一个或者多字段对结果集进行分组统计. 使用示例:orders表为例 O_Id OrderDate OrderPrice Custo ...
- group by和order by的用法和区别
一.order by的用法 使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升序:ASC:降序:DESC:默认为升序). 当排序列含空值时: ASC:排序列为空值的元组 ...
- 浅谈group by和order by的用法和区别
前一段时间的面试,问道这个问题,不太清楚了,感觉有必要来总结一下.话不多说,直接开始吧! 一.order by的用法 使用order by,一般是用来,依照查询结果的某一列(或多列)属性,进行排序(升 ...
- 当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序
当一个查询语句同时出现了where,group by,having,order by的时候,执行顺序和编写顺序 使用count(列名)当某列出现null值的时候,count(*)仍然会计算,但是co ...
- group by 和 order by 的区别 + 理解过程
order by 和 group by 的区别 order by 和 group by 的区别: 1,order by 从英文里理解就是行的排序方式,默认的为升序. order by 后面必须列出排序 ...
- select的5中子句where,group by, havaing, order by, limit的使用顺序及实例
-- 语法: SELECT select_list FROM table_name [ WHERE search_condition ] [ GROUP BY group_by_expression ...
- mysql “group by ”与order by的研究--分类中最新的内容
这两天让一个数据查询难了.主要是对group by 理解的不够深入.才出现这样的情况 这种需求,我想很多人都遇到过.下面是我模拟我的内容表 我现在需要取出每个分类中最新的内容 select * fro ...
最新文章
- 好文 | “智能经济”时代,协作机器人的应用前景与趋势探讨
- 项目实战之组件化架构
- axios的简单使用
- sTC8G1K08+通过串口显示内部电压_基于51单片机的数字电流电压表
- html状态查询爱站,批量获取爱站数据
- Java核心篇之多线程---day1
- 后台管理系统推荐(PHP)
- 链表实现直接选择排序
- 【图像去噪】基于BM3D算法实现图像去噪含Matlab源码
- 控制系统|反馈系统的稳定性分析
- 关于异业联盟和O2O商业模式的一些想法
- “重塑安全边界,揭秘零信任业务保障”,联软科技下一代零信任访问管理系统发布
- Python画爱心——一颗会跳动的爱心~
- SudaMod-81.0 / crDroidAndroid-8.1(android-8.1.0_r20)红米3 2018年5月3日更新
- LoRaWAN入网参数设置
- 什么是照度(光照强度)?
- 【期末复习笔记】知识产权法——著作权、专利法、商标权
- 使用Cluster API提供裸金属Kubernetes
- Java8之新日期时间篇
- 【转】大学四年因为知道了这32个网站,我成了别人眼中的大神!