在MySQL中自定义参数的使用详解
作者:长弓Smile 发布时间:2024-01-22 22:30:31
MySQL变量包括系统变量和系统变量。这次的学习任务是用户自定义变量。用户变量主要包括局部变量和会话变量。
用户自定义变量的声明方法形如:@var_name,其中变量名称由字母、数字、“.”、“_”和“$”组成。当然,在以字符串或者标识符引用时也可以包含其他字符(例如:@'my-var',@”my-var”,或者@my-var)。
用户自定义变量是会话级别的变量。其变量的作用域仅限于声明其的客户端链接。当这个客户端断开时,其所有的会话变量将会被释放。
用户自定义变量是不区分大小写的。
使用SET语句来声明用户自定义变量:
SET @my_var = 1;
SET @my_var := 1;
不使用set时采用:=赋值,因为采用=可能被认为是比较操作符。
以下用一个案例说明:
编写一个 SQL查询 来实现分数排名。如果两个分数相同,则两个分数排名(Rank)应该相同。请注意,平局之后的下一个排名数应该是下一个连续的整数值。换句话说,行列之间不应该有“漏洞”。
+—-+——-+
| Id | Score |
+—-+——-+
| 1 | 3.50 |
| 2 | 3.65 |
| 3 | 4.00 |
| 4 | 3.85 |
| 5 | 4.00 |
| 6 | 3.65 |
+—-+——-+
例如,根据给定的上述 Scores 表,您的查询应该生成以下报告(按最高分排序):
+——-+——+
| Score | Rank |
+——-+——+
| 4.00 | 1 |
| 4.00 | 1 |
| 3.85 | 2 |
| 3.65 | 3 |
| 3.65 | 3 |
| 3.50 | 4 |
+——-+——+
查询语句:
select Score, @rank := @rank + (@pre <> (@pre:=Score)) Rank
from Scores ,(SELECT @rank := 0,@pre:= -1) INIT
ORDER BY Score DESC
注:
@rank表示成绩排名
@pre表示上一个人的分数
当与上一个分数不一样时@rank = @rank + 1,否则,@rank=rank。
将@rank初始化为1,@pre初始化为-1。
实验结果为:
来源:https://blog.csdn.net/u012485480/article/details/79586895
猜你喜欢
- 背景:因为工作需要,公司给每个员工都分配了一个邮箱 公司的各种业务都通过邮箱发送。虽然给每个员工的电脑都设置pop3登录但是他们的程序设定有
- 首先谈谈它们的共同点吧:它们本质上都是一种对资源的独占锁定,都是由并发引起(如果数据库只有一个session,就谈不上锁定)。接着着重谈谈它
- ①. vscode的常用快捷键列表1.注释:a) 单行注释:[ctrl+k,ctrl+c] 或 ctrl+/b) 取消单行注释:[ctrl+
- 当获取FileField数据时会出现编码问题在数据库里显示的是D:\python项目\wxmkczpy\uploadfile\QQ截图201
- 1,前端样式2,html代码{% load asset_filter %}<div class="col-sm-2"
- 前言:什么是cookie?Cookie,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。比如
- 一、python判断文件和文件夹是否存在、创建文件夹 >>> import os>>> os.path.
- 注意:安装opencv之前需要先安装numpy,matplotlib等一、安装方法方法一、在线安装1.先安装opencv-pythonpip
- 01 并行复制的概念 在MySQL的主从复制架构中,主库上经常会并发的执行很多SQL,只要这些SQL没有产生锁等待,
- Neo4j是一款开源图数据库,Py2neo提供了使用Python语言访问Neo4j的接口。本文介绍了使用Py2neo的NodeMatcher
- Scala 循环有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类
- 小编最近由于工作原因要用到python,一门新的知识需要接触,对于我来说难度还是很大的。python工程目录结构每次创建一个python工程
- 另外一类常用的模板标签是通过渲染 其他 模板显示数据的。 比如说,Django的后台管理界面,它使用了自定义的模板标签来显示新增/编辑表单页
- 首先,来看每次处理一个字符的情况,可以有如下方法去实现:方法一: >>> a='
- PYTHON 操作 XML读取XML文件关于XML的介绍<data> 与 </data> 是一对标签的开始与结束&l
- 在使用FCKeditor的时候,可能会碰到以下这个问题,就是在编辑器页面出错,提示为:找不到页面/fckeditor/editor/fcke
- 概述从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.条件查询我们可以使用关键词Where来指定条件, 用于插入, 修改删除或者查
- __init__()方法意义重大的原因有两个。第一个原因是在对象生命周期中初始化是最重要的一步;每个对象必须正确初始化后才能正常工作。第二个
- 对于一个多元函数 用牛顿法求其极小值的迭代格式为其中 为函数 的梯度向量, 为函数 的Hesse(Hessian)矩阵。上述牛顿法
- 记录了CentOS7 安装python3.7.0的详细过程,供大家参考,具体内容如下1.下载及解压python3.7的安装包可从官网下载上传