1.排序
SELECT 字段名 FROM 表名 [WHERE 字段 = 值] ORDER BY 字段名 [ASC / DESC]
-- ASC 表示升序排序(默认)
-- DESC 表示降序排序
//单列排序
SELECT * FROM course_section ORDER BY course_id; 默认为升序 仅仅按照一个信息排序
// 多列排序 先对course_id 进行升序排列 相同的再按照 id 进行降序排序 参考图如下图所示
SELECT * FROM course_section ORDER BY course_id ASC, id DESC;
2.聚合函数(纵向查询)
1 语法
SELECT 聚合函数(字段名) FROM 表名;
(1) 查询id总个数
//
SELECT COUNT(*) FROM course_section; -- 使用 *
SELECT COUNT(1) FROM course_section; -- 使用 1,与 * 效果一样
SELECT COUNT(id) FROM course_section ;
//
使用时注意不要使用带有null的列进行统计
(2) 平均 最高 最低 总和
SELECT
SUM(course_id) AS '总和' ,
AVG(course_id) AS '平均' ,
MIN(course_id) AS '最小' ,
MAX(course_id) AS '最大'
FROM course_section;
(3) 也可以在后面添加where条件 尽新歌声查询 比如查询course_id>10的个数:
SELECT COUNT(1) FROM course_section WHERE course_id >10;
3.分组
分组查询指的是使用 GROUP BY 语句,对查询的信息进行分组,相同数据作为一组
SELECT 分组字段/聚合函数 FROM 表名 GROUP BY 分组字段 [HAVING 条件];
//查询有多少种描述
SELECT description FROM course_section GROUP BY description;
查询平均id大于10的 课程名称,需要分组后再进行过滤。
SELECT section_name , AVG(course_id) FROM course_section WHERE section_name IS NOT NULL
GROUP BY section_name HAVING AVG(course_id) >10;
、
4.Limit关键字
limit 关键字的作用
limit是限制的意思,用于 限制返回的查询结果的行数 (可以通过limit指定查询多少行数据)
limit 语法是 MySql的方言,用来完成分页语法结构
SELECT 字段1,字段2... FROM 表名 LIMIT offset , length;
limit offset , length; 关键字可以接受一个 或者两个 为0 或者正整数的参数
offset 起始行数, 从0开始记数, 如果省略 则默认为 0.
length 返回的行数
# 查询emp表中的前 5条数据
-- 参数1 起始值,默认是0 , 参数2 要查询的条数
SELECT * FROM course_section LIMIT 5;
SELECT * FROM course_section LIMIT 0 , 5;
# 查询emp表中 从第4条开始,查询6条 -- 起始值默认是从0开始的.
SELECT * FROM course_section LIMIT 3 , 6;# 分页查询
-- 分页操作 每页显示3条数据
SELECT * FROM course_section LIMIT 0,3; -- 第1页
SELECT * FROM course_section LIMIT 3,3; -- 第2页 2-1=1 1*3=3
SELECT * FROM course_section LIMIT 6,3; -- 第三页-- 分页公式 起始索引 =(当前页 -1)* 每页条数
-- limit是MySql中的方言
*****表数据,可以先创建一个数据库然后执行建表。
CREATE TABLE `course_section` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'id',
`course_id` int(11) NOT NULL COMMENT '课程id',
`section_name` varchar(255) NOT NULL COMMENT '章节名',
`description` varchar(255) NOT NULL COMMENT '章节描述',
`last_operator` varchar(255) DEFAULT NULL COMMENT '最后操作者',
`create_time` datetime NOT NULL COMMENT '记录创建时间',
`update_time` datetime NOT NULL COMMENT '更新时间',
`is_visible` tinyint(1) DEFAULT '1' COMMENT '是否可见',
`is_del` tinyint(4) DEFAULT NULL COMMENT '是否删除 0-未删除,1-已删除',
`order_num` int(11) DEFAULT NULL COMMENT '排序字段',
`last_operator_id` int(11) DEFAULT NULL COMMENT '最后操作者ID',
`status` int(1) DEFAULT NULL COMMENT '状态,0:隐藏;1:待更新;2:已发布',
PRIMARY KEY (`id`) USING BTREE,
KEY `course_id_index` (`course_id`) USING BTREE,
KEY `idx_course_id` (`course_id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8;
/*Data for the table `course_section` */
insert into `course_section`(`id`,`course_id`,`section_name`,`description`,`last_operator`,`create_time`,`update_time`,`is_visible`,`is_del`,`order_num`,`last_operator_id`,`status`) values
(1,1,'第一章 Java基础必考点','基础阶段所有面试题','1','2019-01-23 20:35:47','2020-07-22 21:02:00',0,0,1,100011619,0),
(2,2,'300分钟搞定算法面试','算法功底决定Offer质量','1','2019-06-19 11:59:14','2020-06-22 19:41:26',0,0,3,NULL,0),
(3,3,'如何高效准备简历和面试','如何高效准备简历和面试','1','2019-07-04 12:13:27','2019-09-04 17:21:53',0,0,4,100011619,2),
(4,4,'高性能MySQL实战','高性能MySQL实战','1','2019-07-11 10:55:10','2019-10-09 12:43:01',0,0,5,100011619,2),
(5,10,'麻式太极第一章','麻式太极拳,你动我试试','1','2019-07-11 10:55:10','2019-10-09 12:43:01',0,0,5,100011619,2),
(6,19,'微服务架构最新版','跟着药水一起学习如何使用微服务架构最新版',NULL,'2020-06-22 16:33:59','2020-06-22 17:59:04',1,NULL,0,NULL,1),
(26,0,'123','213',NULL,'2020-07-01 17:31:31','2020-07-01 17:31:31',1,NULL,123,NULL,2),
(27,0,'马鞍路','2321',NULL,'2020-07-01 17:33:59','2020-07-01 17:33:59',1,NULL,12,NULL,2),
(28,0,'32','12321',NULL,'2020-07-01 17:42:38','2020-07-01 17:42:38',1,NULL,1231,NULL,2),
(29,10,'1233顾地科技的','23211232132132',NULL,'2020-07-01 17:42:55','2020-07-01 19:27:37',1,NULL,12,NULL,2),
(30,10,'麻式太极第一章他官方 ','麻式太极拳,你动我试试1111 ',NULL,'2020-07-01 19:20:50','2020-07-01 19:27:12',1,NULL,5,NULL,2),
(31,10,'麻式太极第一章他官方店官方店方法','麻式太极拳,你动我试试 人让广大',NULL,'2020-07-01 19:22:42','2020-07-01 19:22:42',1,NULL,5,NULL,2),
(32,59,'第一章 Vue.js 介绍','我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 <script> 标签引入。',NULL,'2020-07-08 14:57:01','2020-07-20 18:57:06',1,NULL,1,NULL,0),
(33,59,'第二章 Vue.js 基础','上一章节中我们使用了 npm 安装项目,我们在 IDE(Eclipse、Atom等) 中打开该目录',NULL,'2020-07-08 14:58:07','2020-07-08 17:03:23',1,NULL,2,NULL,2),
(34,59,'第三章 Vue.js 起步','每个 Vue 应用都需要通过实例化 Vue 来实现。\n\n',NULL,'2020-07-08 14:58:36','2020-07-20 18:57:17',1,NULL,3,NULL,1),
(35,59,'第四章 Vue.js 高级','Vue.js 使用了基于 HTML 的模版语法,允许开发者声明式地将 DOM 绑定至底层 Vue 实例的数据。',NULL,'2020-07-08 14:59:00','2020-07-08 14:59:00',1,NULL,4,NULL,2),
(36,45,'啦啦1地方','发放的说法是否放到放到啊',NULL,'2020-07-08 16:22:21','2020-07-08 17:02:32',1,NULL,2,NULL,2),
(37,47,'01 三脚猫','地方大发a',NULL,'2020-07-08 17:22:33','2020-07-08 17:22:33',1,NULL,2,NULL,2),
(38,46,'第一种 抽烟','如何学会抽烟',NULL,'2020-07-08 18:19:13','2020-07-08 18:19:13',1,NULL,1,NULL,2),
(39,46,'第二种 喝酒','喝酒如何不醉',NULL,'2020-07-08 18:19:36','2020-07-08 18:19:36',1,NULL,2,NULL,2),
(41,19,'微服务架构1111','跟着药水一起学习如何使用微服务111',NULL,'2020-07-09 16:12:16','2020-07-09 17:27:24',1,NULL,0,NULL,2),
(42,19,'大数据架构1111','跟着药水一起学习如何使用微服务111',NULL,'2020-07-09 17:28:24','2020-07-09 17:28:24',1,NULL,0,NULL,2),
(43,19,'微服务架构123456','跟着药水一起学习如何使用微服务',NULL,'2020-07-09 19:54:33','2020-07-09 19:56:01',1,NULL,0,NULL,0),
(44,1,'第二章 JavaWeb阶段所有面试必考点','JavaWeb阶段所有面试必考点',NULL,'2020-07-20 16:30:31','2020-07-22 21:02:05',1,NULL,2,NULL,2),
(45,1,'第三章 SSM框架阶段所有必考点','SSM框架阶段所有必考点',NULL,'2020-07-20 19:29:14','2020-07-22 21:02:09',1,NULL,3,NULL,0),
(48,46,'第三种 烫头','第三种 烫头',NULL,'2020-07-22 15:32:09','2020-07-22 15:32:54',1,NULL,3,NULL,2),
(49,46,'第四种','第四种 做饭',NULL,'2020-07-22 15:43:02','2020-07-22 15:43:02',1,NULL,0,NULL,2),
(50,46,'第四种 游泳','第四种 做饭',NULL,'2020-07-22 15:43:50','2020-07-22 15:44:07',1,NULL,5,NULL,2),
(51,61,'第一式 葵花点穴手','葵花点穴手',NULL,'2020-07-22 15:45:17','2020-07-22 15:45:17',1,NULL,1,NULL,2),
(52,45,'大富','发发达',NULL,'2020-07-22 15:45:32','2020-07-22 15:45:32',1,NULL,0,NULL,2),
(53,1,'123123','12321312',NULL,'2020-07-22 16:33:24','2020-07-22 16:33:24',1,NULL,11,NULL,2),
(54,1,'第五章 项目面试题','项目面试题',NULL,'2020-07-22 16:33:56','2020-07-22 17:31:31',1,NULL,0,NULL,2),
(55,19,'微服务架构','跟着药水一起学习如何使用微服务',NULL,'2022-06-02 14:57:26','2022-06-02 14:57:26',1,NULL,0,NULL,2),
(56,19,'微服务架构','跟着药水一起学习如何使用微服务',NULL,'2022-06-02 15:03:27','2022-06-02 15:03:27',1,NULL,0,NULL,2),
(57,75,'刺客五六七','跟着药水一起学习如何使用微服务',NULL,'2022-06-02 15:05:08','2022-06-02 15:05:08',1,NULL,0,NULL,2),
(58,75,'刺客五六七','跟着药水一起学习如何使用微服务',NULL,'2022-06-02 15:08:05','2022-06-02 15:08:05',1,NULL,0,NULL,2);