MySQL基础之 排序与限制,聚合
2023-09-11 14:18:55 时间
排序与限制
ORDER BY
作用:取出按照某个字段进行排序后的记录结果集。
配合:常与DESC 和ASC一块使用:默认是ASC,表示升序。DESC表示降序
LIMIT
作用:用于显示数据的一部分记录,而不是全部记录。
语法:SELECT.....[LIMIT offset_start,row_count]
其中offset_start表示记录的起始位置,默认起始位置是从0开始,而row_count表示要显示的记录的行数。
1、我们举两个例子
mysql> SELECT * FROM information ORDER BY salery DESC LIMIT 3; +------+----------+---------------+-----------+--------+ | id | name | address | city | salery | +------+----------+---------------+-----------+--------+ | 1004 | xiaohua | haha street | Zhengzhou | 3450 | | 1002 | xiaochen | Oxford street | New York | 3240 | | 1001 | xiaoming | NiuJin | England | 2000 | +------+----------+---------------+-----------+--------+ 3 rows in set (0.00 sec) mysql> SELECT * FROM information ORDER BY salery DESC LIMIT 1,2; #从第二行开始显示,显示两行。 +------+----------+---------------+----------+--------+ | id | name | address | city | salery | +------+----------+---------------+----------+--------+ | 1002 | xiaochen | Oxford street | New York | 3240 | | 1001 | xiaoming | NiuJin | England | 2000 | +------+----------+---------------+----------+--------+ 2 rows in set (0.00 sec)
注意:
1、LIMIT属于MySQL扩展的语法,在其他的数据库上不能使用
2、如果存在一条记录的值为空值(NULL)时,这条记录将显示为第一条记录,因为,按升序排序时,含空值的记录将最先显示,可以理解为空值是该字段的最小值,而按降序排列时,字段为空值的记录将最后显示。
聚合
GROUP BY
作用:进行分类聚合
语法:SELECT [field1,field2,.....fieldn] fun_name FROM tablename [WHERE condition] [GROUP BY field1,filed2,......fieldn] [HAVING condition]
参数解释;fun_name表示聚合函数,比如max() 、min()、count()、sum()
GROUP BY:后面的字段表示对其进行分类聚合。
WHERE与HAVING的区别:WHERE表示对查询前的数据进行过滤。而HAVING表示对查询后的数据再次进行过滤。
1、既要统计每个名字对应的人数,还要统计总人数
mysql> SELECT id,count(1) FROM information GROUP BY id WITH ROLLUP; +------+----------+ | id | count(1) | +------+----------+ | 1001 | 1 | | 1002 | 1 | | 1004 | 1 | | NULL | 3 | +------+----------+ 4 rows in set (0.00 sec)
WITH ROLLUP 表示是否对分类聚合后的结果进行再汇总。
相关文章
- 深入解析MySQL分区(Partition)功能
- 【MySQL高级】MySql中常用工具及Mysql 日志
- 《MySQL DBA修炼之道》——3.7 字符集和国际化支持
- mysql semi-sync浅谈
- mysql 表锁——读锁和写锁
- CentOS下MySQL主从复制,读写分离
- ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061),mysql服务已启动
- Mysql5.7新增用户并授权,Mysql生产环境用户权限管理
- MySQL基础之 恢复数据和数据库迁移
- MySQL 数据库常用命令
- 虚拟主机如何连接MYSQL数据库呢?
- 【MySQL】Spring Boot项目基于Sharding-JDBC和MySQL主从复制实现读写分离(8千字详细教程)
- mysql下有符号数和无符号数的相关问题
- Mysql错误:Duplicate entry '127' for key 'PRIMARY'的解决方法
- (3.8)mysql基础深入——mysql 关机过程详情【待写】
- mysql数据库增删改基础语句
- SpringMvc+Mybatis+Maven+Mysql做一个CRUD的简单例子
- mysql 模糊查询语句比较(LIKE、instr、locate、find_in_set、position)
- MySQL/MariaDB重置root密码、配置慢查询日志
- MySQL-操作数据库(存储引擎)