国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

在MySQL中自定義參數的使用詳解

2020-01-18 20:39:33
字體:
來源:轉載
供稿:網友

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。

實驗結果為:

以上這篇在MySQL中自定義參數的使用詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 梁平县| 乌拉特前旗| 无棣县| 弥渡县| 定安县| 白山市| 中山市| 南宁市| 大田县| 大荔县| 太康县| 琼海市| 南部县| 石屏县| 山阳县| 曲靖市| 中山市| 余干县| 南和县| 芦山县| 海淀区| 吉木萨尔县| 雅江县| 浦东新区| 社会| 龙游县| 雷州市| 体育| 墨竹工卡县| 达拉特旗| 信丰县| 尤溪县| 专栏| 高台县| 英德市| 和龙市| 班玛县| 太原市| 杨浦区| 金川县| 永修县|