MySQL单表操作
Posted 技术很low的瓜贼
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL单表操作相关的知识,希望对你有一定的参考价值。
文章目录
mysql单表操作
一、排序
语法格式 | 说明 |
---|---|
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC] | ASC 表示升序排序(默认) |
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [DESC] | DESC 表示降序排序 |
- 单列排序:只按照某一个字段进行排序
SELECT * FROM TRANSACTION ORDER BY salary;
SELECT * FROM TRANSACTION ORDER BY salary DESC;
- 组合排序:同时对多个字段进行排序, 如果第一个字段相同 就按照第二个字段进行排序,以此类推
SELECT * FROM TRANSACTION ORDER BY age DESC, salary ASC;
二、聚合函数
- 使用聚合函数查询是纵向查询,它是对某一列的值进行计算,然后返回一个单一的值(另外聚合函数会忽略null空值。)
- 语法结构
SELECT 聚合函数(字段名) FROM 表名;
聚合函数 | 功能 |
---|---|
count(字段) | 统计指定列不为NULL的记录行数 |
sum(字段) | 计算指定列的数值和 |
max(字段) | 计算指定列的最大值 |
min(字段) | 计算指定列的最小值 |
avg(字段) | 计算指定列的平均值 |
SELECT COUNT(cid) FROM TRANSACTION;
SELECT SUM(age) FROM TRANSACTION;
SELECT MAX(salary) FROM TRANSACTION;
SELECT MIN(salary) FROM TRANSACTION;
SELECT AVG(salary) FROM TRANSACTION;
三、分组
- 分组查询指的是使用 GROUP BY 语句,对查询的信息进行分组,相同数据作为一组
- 语法格式
SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
SELECT * FROM TRANSACTION GROUP BY age;
SELECT age AS 年龄, COUNT(age) AS 个数 FROM TRANSACTION GROUP BY age HAVING age>50;
- where与having的区别
where | where 进行分组前的过滤 where 后面不能写 聚合函数 |
having | having 是分组后的过滤 having 后面可以写 聚合函数 |
四、limit关键字
- limit是限制的意思,用于 限制返回的查询结果的行数 (可以通过limit指定查询多少行数据)
- limit 语法是 MySql的方言,用来完成分页
- 语法结构
SELECT 字段1,字段2… FROM 表名 LIMIT offset , length;
SELECT * FROM TRANSACTION LIMIT 0, 2;
- 分页公式: 分页公式 起始索引 = (当前页 - 1) * 每页条数
以上是关于MySQL单表操作的主要内容,如果未能解决你的问题,请参考以下文章