MySQL中多种排名实现

前言

我们主要以MySQL5.7和8为例,分别实现了多种排名,唯一连续排名、并列连续排名、并列不连续排名,演示了分组和不分组的情况,基本已经涵盖了所有情况了。

一、准备数据

新建一张表forlan_score

CREATE TABLE `forlan_score` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `student_name` varchar(255) DEFAULT NULL COMMENT '学生名称',
  `score` int(20) DEFAULT '-1' COMMENT '分数',
	`course_name` varchar(255) DEFAULT NULL COMMENT '课程',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='学生成绩表';

插入数据

INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (1, '小明', 70, '数学');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (2, '小红', 65, '英语');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (3, '小林', 100, '数学');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (4, '小黄', 100, '语文');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (5, '小东', 80, '语文');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (6, '小美', 90, '英语');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (7, '小伟', 88, '英语');
INSERT INTO `test`.`forlan_score` (`id`, `student_name`, `score`, `course_name`) VALUES (8, '小小', 100, '数学');

二、实现排名(不分组)

1、不重复,连续排名

1)mysql5.7实现

  • 使用自定义变量(外部sql)
SET @cur_rank := 0;
SELECT
	student_name,
	score,
	@cur_rank := @cur_rank + 1 AS ranking 
FROM
	forlan_score 
ORDER BY
	score DESC;
  • 使用自定义变量(内部sql)(推荐)
SELECT
	fs.student_name,
	fs.score,
	( @cur_rank := @cur_rank + 1 ) AS ranking 
FROM
	forlan_score fs,
	( SELECT @cur_rank := 0 ) r 
ORDER BY
	score DESC;

2)mysql8实现

ROW_NUMBER()

SELECT
	student_name,
	score,
	ROW_NUMBER() OVER ( ORDER BY score DESC ) AS ranking 
FROM
	forlan_score;

3)效果

+--------------+-------+---------+
| student_name | score | ranking |
+--------------+-------+---------+
| 小林         |   100 |       1 |
| 小黄         |   100 |       2 |
| 小小         |   100 |       3 |
| 小美         |    90 |       4 |
| 小伟         |    88 |       5 |
| 小东         |    80 |       6 |
| 小明         |    70 |       7 |
| 小红         |    65 |       8 |
+--------------+-------+---------+

2、并列,连续排名

1)mysql5.7实现

  • 使用自定义变量 + IF
SELECT
	fs.student_name,
	fs.score,
	IF( @pre_score = fs.score, @cur_rank, @cur_rank := @cur_rank + 1 ) AS ranking,
	@pre_score := fs.score 
FROM
	forlan_score fs,( SELECT @cur_rank := 0, @pre_score := NULL ) r 
ORDER BY
	fs.score DESC;
  • 使用自定义变量 + CASE WHEN
SELECT
	fs.student_name,
	fs.score,
	(
		CASE
			WHEN @pre_score = fs.score THEN @cur_rank 
			WHEN @pre_score := fs.score THEN @cur_rank := @cur_rank + 1 
		END 
	) AS ranking 
	FROM
		forlan_score fs,(SELECT @cur_rank := 0,@pre_score := NULL) r 
ORDER BY
	fs.score DESC;

2)mysql8实现

DENSE_RANK()

SELECT
	student_name,
	score,
	DENSE_RANK() OVER ( ORDER BY score DESC ) AS ranking 
FROM
	forlan_score;

3)效果

+--------------+-------+---------+
| student_name | score | ranking |
+--------------+-------+---------+
| 小林         |   100 |       1 |
| 小黄         |   100 |       1 |
| 小小         |   100 |       1 |
| 小美         |    90 |       2 |
| 小伟         |    88 |       3 |
| 小东         |    80 |       4 |
| 小明         |    70 |       5 |
| 小红         |    65 |       6 |
+--------------+-------+---------+

3、并列,不连续排名

1)mysql5.7实现

  • 使用自定义变量 + IF
SELECT
	fs.student_name,
	fs.score,
	@row_num := @row_num + 1,
	IF( @pre_score = fs.score, @cur_rank, @cur_rank := @row_num ) AS ranking,
	@pre_score := fs.score 
FROM
	forlan_score fs,
	(SELECT @cur_rank := 0,@pre_score := NULL,@row_num := 0 ) r 
ORDER BY
	fs.score DESC;
  • 使用自定义变量 + CASE WHEN
SELECT
	fs.student_name,
	fs.score,
	@row_num := @row_num + 1,
	( CASE WHEN @pre_score = fs.score THEN @cur_rank WHEN @pre_score := fs.score THEN @cur_rank := @row_num END ) AS ranking 
FROM
	forlan_score fs,
	( SELECT @cur_rank := 0, @pre_score := NULL, @row_num := 0 ) r 
ORDER BY
	fs.score DESC;

2)mysql8实现

RANK()

SELECT
	student_name,
	score,
	RANK() OVER ( ORDER BY score DESC ) AS ranking 
FROM
	forlan_score;

3)效果

+--------------+-------+---------+
| student_name | score | ranking |
+--------------+-------+---------+
| 小林         |   100 |       1 |
| 小黄         |   100 |       1 |
| 小小         |   100 |       1 |
| 小美         |    90 |       4 |
| 小伟         |    88 |       5 |
| 小东         |    80 |       6 |
| 小明         |    70 |       7 |
| 小红         |    65 |       8 |
+--------------+-------+---------+

三、实现按照课程分组排名

1、不重复,连续排名

1)mysql5.7实现

  • 使用自定义变量 + IF
SELECT
	fs.student_name,
	fs.course_name,
	fs.score,
	IF(@cur_couse = course_name, @cur_rank := @cur_rank+1, @cur_rank :=1) AS ranking,
	@cur_couse := fs.course_name
FROM
	forlan_score fs,
	( SELECT @cur_rank := 0,  @cur_couse := NULL ) r 
ORDER BY
	fs.course_name,fs.score DESC;

2)mysql8实现

ROW_NUMBER()

SELECT
	student_name,
	course_name,
	score,
	ROW_NUMBER() OVER (PARTITION BY course_name ORDER BY course_name,score DESC) AS ranking
FROM
	forlan_score;

3)效果

+--------------+-------------+-------+---------+
| student_name | course_name | score | ranking |
+--------------+-------------+-------+---------+
| 小林         | 数学        |   100 |       1 |
| 小小         | 数学        |   100 |       2 |
| 小明         | 数学        |    70 |       3 |
| 小美         | 英语        |    90 |       1 |
| 小伟         | 英语        |    88 |       2 |
| 小红         | 英语        |    65 |       3 |
| 小黄         | 语文        |   100 |       1 |
| 小东         | 语文        |    80 |       2 |
+--------------+-------------+-------+---------+

2、并列,连续排名

1)mysql5.7实现

  • 使用自定义变量 + IF
SELECT
	fs.student_name,
	fs.course_name,
	fs.score,
	IF(@cur_couse = course_name, IF( @pre_score = fs.score, @cur_rank, @cur_rank := @cur_rank+1 ), @cur_rank :=1) AS ranking,
	@pre_score := fs.score,
	@cur_couse := fs.course_name
FROM
	forlan_score fs,
	( SELECT @cur_rank := 0, @pre_score := NULL, @cur_couse := NULL ) r 
ORDER BY
	fs.course_name,fs.score DESC;

2)mysql8实现

DENSE_RANK()

SELECT
	student_name,
	course_name,
	score,
	DENSE_RANK() OVER (PARTITION BY course_name ORDER BY course_name,score DESC) AS ranking
FROM
	forlan_score;

3)效果

+--------------+-------------+-------+---------+
| student_name | course_name | score | ranking |
+--------------+-------------+-------+---------+
| 小林         | 数学        |   100 |       1 |
| 小小         | 数学        |   100 |       1 |
| 小明         | 数学        |    70 |       2 |
| 小美         | 英语        |    90 |       1 |
| 小伟         | 英语        |    88 |       2 |
| 小红         | 英语        |    65 |       3 |
| 小黄         | 语文        |   100 |       1 |
| 小东         | 语文        |    80 |       2 |
+--------------+-------------+-------+---------+

3、并列,不连续排名

1)mysql5.7实现

  • 使用自定义变量 + IF
SELECT
	fs.student_name,
	fs.course_name,
	fs.score,
	IF(@cur_couse = course_name, @row_num := @row_num + 1, @row_num :=1),
	IF(@cur_couse = course_name, IF( @pre_score = fs.score, @cur_rank, @cur_rank := @row_num ),@cur_rank :=1) AS ranking,
	@pre_score := fs.score,
	@cur_couse := fs.course_name
FROM
	forlan_score fs,
	( SELECT @cur_rank := 0, @pre_score := NULL, @row_num := 0,@cur_couse := NULL ) r 
ORDER BY
	fs.course_name,fs.score DESC;

2)mysql8实现

RANK()

SELECT
	student_name,
	course_name,
	score,
	RANK() OVER (PARTITION BY course_name ORDER BY course_name,score DESC) AS ranking
FROM
	forlan_score;

3)效果

+--------------+-------------+-------+---------+
| student_name | course_name | score | ranking |
+--------------+-------------+-------+---------+
| 小林         | 数学        |   100 |       1 |
| 小小         | 数学        |   100 |       1 |
| 小明         | 数学        |    70 |       3 |
| 小美         | 英语        |    90 |       1 |
| 小伟         | 英语        |    88 |       2 |
| 小红         | 英语        |    65 |       3 |
| 小黄         | 语文        |   100 |       1 |
| 小东         | 语文        |    80 |       2 |
+--------------+-------------+-------+---------+
  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
第一部 MySQL基础入门(21节) 01-老男孩运维DBA课程开班.avi 02-数据库概念介绍.avi 03-数据库种类介绍及关系型数据库原理.avi 04-非关系型数据库介绍.avi 05-非关系型数据库种类介绍.avi 06-关系型数据库产品介绍01.avi 07-关系型数据库产品介绍02.avi 08-非关系型数据库产品介绍01.avi 09-数据库产品排名及发展大事记.avi 10-MySQL数据库产品介绍.avi 11-数据库基础内容小结.avi 12-为什么选择MySQL数据库MySQL优势介绍.avi 13-MySQL数据库分类与版本升级知识讲解.avi 14-MySQL数据库商业版与社区版区别.avi 15-MySQL数据库的发布版本知识讲解.avi 16-MySQL数据库发展的三条产品线介绍.avi 17-MySQL数据库发布版本命名知识介绍.avi 18-企业生产场景如何选择MySQL产品线产品及对应版本.avi 19-MySQL数据库企业生产常用5种安装方法介绍.avi 20-如何选择MySQL数据库版本及安装方式.avi 21-MySQL5.5编译方式安装实战.avi 第二部 MySQL多实例安装与企业应用场景(10节) 22-MySQL数据库多实例介绍.avi 23-MySQL数据库多实例的优势和问题介绍.avi 24-MySQL数据库多实例的门户企业应用场景.avi 25-MySQL数据库多实例的多种配置方案介绍.avi 26-MySQL数据库多实例安装实战讲解.avi 27-MySQL数据库多实例初始化及服务启动.avi 28-MySQL数据库多实例启动问题排错方法及实战排错.avi 29-MySQL数据库多实例实战排错02.avi 30-增加MySQL数据库第三个实例实战讲解.avi 31-MySQL数据库多实例的其他故障问题说明.avi 第三部:MySQL应用管理及进阶实战操作(29节) 01-MySQL启动与关闭深入知识及原理.avi 02-登录MySQL知识深入讲解.avi 03-学会使用MySQL数据库的帮助.avi 04-修改mysql密码多方法实战及注意-排错.avi 05-找回丢失的mysql密码实战.avi 06-多实例找回丢失的mysql密码.avi 07-SQL语言介绍及分类详解.avi 08-创建不同字符集数据库及企业场景应用讲解.avi 09-显示-连接-删除等数据库的库管理应用讲解.avi 10-创建mysql用户及授权的多种方法实战.avi 11-本地及远程主机授权思想及多种方法实战.avi 12-自己动手实战确定MySQL的授权权限列表.avi 13-生产场景如何授权用户及权限讲解.avi 14-MySQL建表语句及表的知识.avi 15-查看表结构以及建表语句.avi 16-索引的知识及索引创建多种方法实战.avi 17-索引生效的基本条件说明.avi 18-主键-唯一-普通索引创建及删除小结.avi 19-DML语句之insert知识讲解.avi 20-DQL之select知识实战讲解.avi 21-DQL之select多表连表查询实战.avi 22-利用explain查看sql语句的执行计划.avi 23-DML之修改表的记录实战.avi 24-小试牛刀初步增量恢复MySQL数据实战.avi 25-某企业运维全套面试题解答.avi 26-DML之修改表及企业严重故障案例解决实战.avi 27-删除表的数据机企业故障案例及防止方法.avi 28-增删改表的字段实战详解.avi 29-更改表名及删除表实战讲解.avi 第四部 MySQL乱码问题及字符集实战(14节) 01-MySQL数据乱码及多种解决方案实战1.avi 02-MySQL数据乱码及多种解决方案实战2.avi 03-MySQL不乱码5种方法及不乱码根源深入详解.avi 04-下节内容及课后作业说明.avi 05-课前思想-17期学生23万入职BAT公司 06-课前思想-及课前考试题说明.avi 07-MySQL字符集介绍及生产常用字符集说明.avi 08-MySQL不同字符集区别及企业生产选择.avi 09-MySQL乱码原因开始系统影响揭秘.avi 10-MySQL上执行set names到底做了什么?.avi 11-MySQL命令带字符集导入到底做了什么?.avi 12-MySQL数据文不乱码终极实战.avi 13-MySQL数据文不乱码终极大总结.avi 14-更改生产线上MySQL数据字符集的方案讲解.avi 第五部 MySQL备份、增量备份及数据恢复基础实战(12节) 01-备份数据的意义及重要性.avi 02-mysqldump多个命令参数备份实战.avi 03-mysqldump逻辑备份的工作原理.avi 04-备份多个库的思想及多种方法讲解.avi 05-mysql单多表的备份实战及脚本批量备份讲解.avi 06-只备份MySQL表结构及只备份MySQL数据.avi 07-企业生产场景不同引擎备份命令参数详解.avi 08-利用source恢复mysql数据讲解及实战.avi 09-分库备份后mysql如何分库恢复实战.avi 10-mysql进程-状态-在线修改参数重要知识讲解.avi 11-mysqlbinlog命令介绍及实战讲解.avi 12-mysqldump-master-data参数答疑详解.avi 第六部 MySQL主从复制原理及实战部署(10节) 01-由架构因为引出主从复制的作用及重要性.avi 02-文件及DB各种同步方案大集合介绍讲解.avi 03-mysql主从复制介绍及分布式数据库架构实现介绍.avi 04-主从同步的应用场景及切换从库不丢数据多方案介绍.avi 05-mysql数据库读写分离介绍及企业生产实现方案.avi 06-根据企业业务拆分业务应用到不同的从库思想.avi 07-mysql主从复制原理画图深入浅出讲解.avi 08-mysql主从复制实战01.avi 09-mysql主从复制实战02.avi 10-主从复制的超简单实现方案说明.avi 第七部 MySQL主从复制企业级深入高级应用实战(20节) 01-MySQL主从复制原理画图口头考试讲解.avi 02-课前思想-企业面试必胜绝招讲解.avi 03-MySQL主从复制故障多个案例实战讲解.avi 04-回顾MySQL主从复制配置步骤及注意事项.avi 05-回顾MySQL主从复制原理要点.avi 06-企业场景MySQL主从复制最牛部署方案.avi 07-一键获取全备及binlog位置多种方案讲解.avi 08-不停主库一键批量配置MySQL主从复制方案.avi 09-MySQL主从复制3个线程状态信息讲解.avi 10-MySQL主从复制读写分离授权多种方案案例详解.avi 11-忽略MySQL主从复制主库授权表同步实战.avi 12-MySQL主从复制指定不同库表同步参数说明.avi 13-MySQL主从复制从库只读案例实战及原理总结.avi 14-企业生产场景MySQL主从复制故障原因及实战解决.avi 15-从库开启BINLOG原因及开启实战讲解1.avi 16-从库开启BINLOG原因及开启实战讲解2.avi 17-企业场景一主多从宕机从库切换主继续和从同步过程详解1.avi 18-企业场景一主多从宕机从库切换主继续和从同步过程详解2.avi 19-企业场景一主多从宕机从库宕机解决.avi 20--企业场景-双主及多主同步过程详解及企业选用方案说明.avi 第八部-老男孩MySQL备份与恢复实战案例及生产方案(10节) 01-全量及增量备份概念及优缺点详解 02-不同企业如何选择备份方案及备份需要恢复的场景分析 03-企业场景数据库需要增量恢复的条件分析 04-MySQL数据恢复的必要条件及恢复案例场景图解分析 05-实战模拟企业数据丢失应用的案例场景 06-MySQL数据库增量恢复详细实战 07-更多MySQL数据库增量恢复大讨论及大总结 08-MySQL增量恢复小结及核心恢复思想 09-课后自学能力作业-务必完成并分享讲解 10-内部学员技术大会分享课表说明 第九部-老男孩MySQL服务日志详细介绍及增量恢复命令实践(7节) 01-mysqlbinlog命令介绍及实战讲解 02-mysqldump-master-data参数答疑详解 03-MySQL服务错误日志介绍及实践 04-MySQL服务普通查询日志介绍及实践 05-MySQL服务慢查询日志介绍及实践 06-MySQL服务二进制日志的3种工作模式详细介绍 07-MySQL服务二进制日志的3种工作模式配置方法实战 第十部-老男孩MySQL常用引擎及优缺点-应用场景-调优详解(14节) 01-MySQL服务存储引擎介绍 02-MySQL服务存储引擎体系结构 03-MySQL服务MyISAM引擎介绍及磁盘文件格式 04-MySQL服务事务详细介绍及ACID特性说明 05-MySQL服务MyISAM引擎特点讲解 06-MySQL服务MyISAM引擎适合的生产应用场景 07-MySQL服务MyISAM引擎调优精要 08-MySQL服务InnoDB引擎介绍及磁盘文件格式 09-MySQL服务InnoDB引擎特点讲解 10-MySQL服务InnoDB引擎适合的生产应用场景 11-MySQL服务InnoDB引擎调优及不同引擎功能对比 12-MySQL服务引擎种类功能及对应参数配置说明 13-批量修改MySQL服务引擎的多种方案 14-有关MySQL服务存储引擎的面试题等说明 第十一部 MySQL读写分离开发实现及软件实现-物理备份-高可用(已经包含有5节视频+文档资料) 01-amoeba读写分离实现技术分享.avi 02-mysql-proxy读写分离实现技术分享.avi 03-PHP程序实现读写分离技术分享.avi 04-xtrabackup热备工具技术分享.avi 05-mysql-mmm高可用实现技术分享.avi 文档资料 01-mysql-mmm高可用架构-王雄.rar 02-mysql半主从同步-技术分享--余宏刚.rar 03-xtrabackup安装及操作文档-技术分享--王玉晓.rar 04-mysql主从通过mysql-proxy程序实现读写分离.doc 老男孩linux测试读写分离php网站源代码.zip 第十二部 MySQL高可用工具heartbeat实战(33节) 01-heartbeat介绍与作用.avi 02-Heartbeat的工作原理与服务切换条件.avi 03-Heartbeat心跳连接介绍.avi 04-裂脑的概念讲解.avi 05-裂脑发生的多种原因介绍.avi 06-防止裂脑发生的8种秘籍01.avi 07-防止裂脑发生的8种秘籍02.avi 08-防止裂脑发生的8种秘籍03.avi 09-有关fence设备和仲裁机制说明.avi 10-heartbeat的消息类型介绍.avi 11-heartbeat的IP接管和故障转移原理.avi 12-高可用软件的IP配置管理技术讲解.avi 13-heartbeat的默认路径配置介绍.avi 14-heartbeat的软件版本分支说明.avi 15-heartbeat企业应用场景介绍.avi 16-部署heartbeat高可用业务需求描述.avi 17-模拟服务器准备及IP配置说明.avi 18-配置主机名及服务器hosts文件解析.avi 19-配置服务器间心跳的连接.avi 20-安装heartbeat软件及配置文件讲解.avi 21-heartbeat的主要配置文件参数讲解.avi 22-实战配置heartbeat配置文件.avi 23-启动heartbeat服务并查看配置的VIP.avi 24-发生裂脑故障及根据前面原理排查思路.avi 25-通过heartbeat日志分析接管过程.avi 26-heartbeat实现web服务高可用实战案例1.avi 27-heartbeat实现web服务高可用实战案例1原理.avi 28-heartbeat实现web服务高可用案例2.avi 29-有关heartbeat调用资源的生产场景应用.avi 30-heartbeat高可用案例拓展.avi 31-heartbeat和keepalived的应用场景区别.avi 32-heartbeat服务生产环境下维护要点.avi 33-heartbeat服务生产环境维护FAQ.avi 第十三部 MySQL高可用工具drbd实战(18节) 01-drbd服务介绍.avi 02-drbd的工作原理介绍.avi 03-drbd的工作原理图.avi 04-drbd的复制协议与应用模式.avi 05-drbd的企业应用场景介绍.avi 06-常见运维同步工具介绍.avi 07-drbd的部署及ip配置规划.avi 08-drbd软件的安装配置准备.avi 09-创建同步的分区实践drbd.avi 10-drbd环境分区说明及分区命令.avi 11-实际安装drbd软件实战.avi 12-drbd相关配置列表说明.avi 13-配置drbd加载到内核模块.avi 14-drbd配置文件参数讲解及实际配置.avi 15-drbd服务初始化数据故障机排查过程.avi 16-启动drbd并配置主从同步数据.avi 17-drbd服务的常见故障及排查方法.avi 18-挂载测试数据库同步及查看备节点数据.avi 第十四部 MySQL高可用综合实战(完整版32节) 01-重要课前思想mp4 02-MySQL高可用需求与架构讲解mp4 03-大规模集群架构MySQL高可用的位置和架构mp4 04-MySQL高可用实战模拟环境描述mp4 05-MySQL高可用生产场景配置及网络地址规划mp4 06-MySQL高可用实施正式环境准备与裂脑注意mp4 07-快速安装双机Centos6.4下heartbeat并配置启动mp4 08-快速安装双机Centos6.4下drbd服务准备01mp4 09-快速安装双机Centos6.4下drbd服务实战02mp4 10-详解drbd服务状态信息细节mp4 11-启动服务测试DRBD实际同步情况mp4 12--配合heartbeat调试drbd服务配置mp4 13-MySQL服务安装实战安装过程讲解mp4 14-一键安装Mysql多实例实战讲解与演示mp4 15-通过手工测试MySQL的高可用切换mp4 16-MySQL双主高可用自动切换实战实现mp4 17-有关MySQL双主高可用my.cnf的配置注意事项讲解mp4 18-MySQL高可用切换的重要思想原理及故障排除思想、mp4 19-MySQL主从同步一键安装脚本实战mp4 20-MySQL多主多从高可用集群自动切换实现mp4 21-有关MySQL高可用注意及常见故障讲解mp4 22-MySQL集群及高可用的更多思路方案引子mp4 23-常见MySQL集群高可用架构讲座01.mp4 24-常见MySQL集群高可用架构讲座02.mp4 25-常见MySQL集群高可用架构讲座03.mp4 26-常见MySQL集群高可用架构讲座04.mp4 27-常见MySQL集群高可用架构讲座05.mp4 28-门户分布式数据库架构案例分享01.mp4 29-门户分布式数据库架构案例分享02.mp4 30-门户分布式数据库架构案例分享03.mp4 31-门户分布式数据库架构案例分享04.mp4 32-门户分布式数据库架构案例分享05.mp4 第十五部 MySQL数据库优化思想与优化实战(9节) 1-网站打开慢mysql问题多解决方案企业案例.avi 2-MySQL索引优化要点精讲01 3-MySQL索引优化生产案例讲解02 4-linux运维人员必须掌握的核心经验案例.avi MySQL数据库生产场景核心优化精讲 5-MySQL数据库硬件优化生产方案及细节精讲01.avi 6-MySQL数据库系统优化生产方案及细节精讲02.avi 7-MySQL数据库参数索引优化生产方案及细节精讲03.avi 8-MySQL数据库SQL优化生产方案及细节精讲04.avi 9-MySQL数据库架构优化生产方案及细节精讲05.avi 第十六部 MySQL业务变更流程与安全管理思想(7节) 01-安全优化-项目开发流程及数据库更新流程.avi 02-DBA参与项目数据库设计及培训开发人员高效设计MYSQL库语句.avi 03-老男孩核心思想-项目周期的制定思想.avi 04-linux进程占用cpu高的解决方案案例.avi 05-数据库账户权限控制多种思路及技巧.avi 06-数据库客户端安全控制策略详解.avi 07-数据库运维的核心管理思想.avi
基于微信小程序的体育场地预订系统是一种方便、快捷的预订体育场馆场地的平台。该系统主要面向校园内的师生以及社区内的居民。用户可以通过微信小程序实现对所需体育场馆场地的浏览、预定、支付等一系列操作,方便用户快速预订到心仪的场馆场地。 该系统主要包括如下功能: 场馆场地信息展示:用户可以通过微信小程序查看所有场馆场地的详细信息,包括场地名称、地址、价格、场地大小等相关信息,方便用户选择合适的场地进行预订。 场馆场地预订:用户可以通过微信小程序选择需要预订的场地、预订时间、人数等信息进行预订。系统还提供了预订时间冲突的提示,确保用户预订时间准确无误。 支付功能:用户可以通过微信小程序在线支付预订场地的费用,支持多种支付方式,例如微信支付、支付宝等。 预订记录查询:用户可以通过微信小程序查询自己的预订记录,方便用户对自己的消费记录进行管理。 用户评价:用户可以通过微信小程序对预订过的场地进行评价,系统会根据用户的评价进行场地排名和推荐。 基于微信小程序的体育场地预订系统的实现采用了SpringBoot框架和微信开发者工具进行开发。同时,系统还采用了MySQL数据库和Redis缓存等技术实现数据存储和管理,提高了系统的性能和可靠性。该系统不仅方便了用户的预订操作,同时也促进了校园体育文化的发展,提高了体育设施的利用率。
在线图书销售系统是一种基于互联网技术的电子商业平台,专门用于图书的销售和管理。随着互联网技术的发展和普及,越来越多的消费者开始通过互联网购买图书,这也促使了在线图书销售系统的快速发展。 该系统的用途包括但不限于以下方面: 提供图书信息:系统可以为消费者提供全面的图书信息,包括书名、作者、出版社、出版时间、简介等基本信息,以及读者评价、销售排名等其他相关信息。这可以帮助消费者更好地了解和选择图书。 实现在线购买:系统可以为消费者提供在线购买服务,消费者可以选择自己需要的图书,并在线支付购买费用。系统可以提供多种支付方式,如支付宝、微信支付、银行转账等。 实现在线阅读:系统可以为消费者提供在线阅读服务,消费者可以在系统阅读部分或全部电子书内容,这可以帮助消费者更好地了解和选择图书。 提供个性化推荐:系统可以根据消费者的购买和阅读历史,以及其他消费者的评价等信息,为消费者提供个性化的图书推荐服务,帮助消费者更好地选择适合自己的图书。 管理系统销售:系统可以对图书的销售情况进行全面的管理,包括销售数量、销售额、库存情况等数据的统计和分析,以及销售趋势的预测和调整等。这可以帮助企业更好地掌握市场动态和优化销售策略。 总之,在线图书销售系统是随着互联网技术的发展而产生的电子商业平台,可以帮助图书销售企业实现销售流程的自动化、效率的提升和数据的集管理,提高销售业绩和降低管理成本,同时也为消费者提供了更加便捷的购书和读书服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Forlan

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值