欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql row number()排序函數(shù)的用法和注意

 更新時(shí)間:2016年07月01日 15:29:06   作者:神崎橙  
這篇文章主要介紹了Mysql row number()排序函數(shù)的用法和注意 的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

雖然使用不多,但是也有情況是需要在mysql 里面寫語句開發(fā)功能的。在sql server 使用慣了,習(xí)慣了使用row_number() 函數(shù)進(jìn)行排序,但是mysql 確沒有這樣一個(gè)函數(shù)。然后找到了po主寫的一篇 文章。通過變量賦值來查詢的。(PS 我測試的版本是mysql 5.6)

先建表

CREATE TABLE `test` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`Col1` varchar(50) DEFAULT NULL,
`Col2` varchar(50) DEFAULT NULL,
`Col3` int(11) DEFAULT NULL,
`Col4` float DEFAULT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 

然后插入測試數(shù)據(jù),使用po主介紹的方法來測試

insert into test(Col1,Col2,Col3,Col4) values (1,2,3,4),(1,2,6,5),(1,2,7,8),(1,"激發(fā)",5,7);
delimiter //
select @row:=case when @row is null then 1 else @row+1 end as RNr, 
ID,Col1,Col2,Col3,Col4 from test ;
//
delimiter ; 

結(jié)果查詢出結(jié)果是

查詢出來的記過,Rnr為什么都是1 呢?因?yàn)閷?duì)于本次查詢來說,@row 這個(gè)變量的值,一直都是null ,所以根據(jù)case 的判別式來看的話,就只能是1 了。引起了這種現(xiàn)象。但是再執(zhí)行,就正常的了,我們將同樣的腳本

再執(zhí)行一次,查出來應(yīng)該就是2345了

測試驗(yàn)證確實(shí)如此,由此可見。變量在本次會(huì)話里面是一直存在的,并且每次會(huì)沿用,所以就出現(xiàn)前面的那種情況。

其實(shí)對(duì)應(yīng)的解決方法也很簡單,既然因?yàn)槊總€(gè)會(huì)話都會(huì)用同一個(gè)值,那么只需要在開始的時(shí)候賦初值就可以解決問題了,比如我們這個(gè)例子在開始的時(shí)候?qū)?set @row = 0; 加上這句,那么每次執(zhí)行,都會(huì)先賦初值,當(dāng)然就可以得到一致的執(zhí)行效果了。

這個(gè)測試告訴了我,在這個(gè)數(shù)據(jù)庫里面,控制變量初始值hin重要。

以上所述是小編給大家介紹的Mysql row_number()排序函數(shù)的用法和注意 ,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • mysql共享鎖與排他鎖用法實(shí)例分析

    mysql共享鎖與排他鎖用法實(shí)例分析

    這篇文章主要介紹了mysql共享鎖與排他鎖用法,結(jié)合實(shí)例形式分析了mysql共享鎖與排他鎖相關(guān)概念、原理、用法及操作注意事項(xiàng),需要的朋友可以參考下
    2019-09-09
  • Mysql中IFNULL函數(shù)舉例詳解

    Mysql中IFNULL函數(shù)舉例詳解

    這篇文章主要給大家介紹了關(guān)于Mysql中IFNULL函數(shù)舉例詳解的相關(guān)資料,在MySQL數(shù)據(jù)庫中IFNULL()函數(shù)用于將NULL值替換為另一個(gè)值,文中給出了詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-07-07
  • Mysql如何查看是否使用到索引

    Mysql如何查看是否使用到索引

    這篇文章主要介紹了Mysql如何查看是否使用到索引問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 查詢優(yōu)化之EXPLAIN的使用分析

    查詢優(yōu)化之EXPLAIN的使用分析

    本篇文章是對(duì)EXPLAIN的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法

    MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法

    這篇文章主要介紹了MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • 使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失

    使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失

    這篇文章主要介紹了使用SKIP-GRANT-TABLES 解決 MYSQL ROOT密碼丟失的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • MySQL如何查詢Binlog 生成時(shí)間

    MySQL如何查詢Binlog 生成時(shí)間

    這篇文章主要介紹了MySQL如何查詢Binlog 生成時(shí)間,通過讀取 Binlog FORMAT_DESCRIPTION_EVENT header 時(shí)間戳來實(shí)現(xiàn)讀取 Binlog 生產(chǎn)時(shí)間,本文給大家詳細(xì)講解,需要的朋友可以參考下
    2023-03-03
  • 一文教你學(xué)會(huì)定位線上MySQL鎖超時(shí)問題

    一文教你學(xué)會(huì)定位線上MySQL鎖超時(shí)問題

    這篇文章主要介紹了一文教你學(xué)會(huì)定位線上MySQL鎖超時(shí)問題,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Mysql中聚簇索引和非聚簇索引的區(qū)別詳解

    Mysql中聚簇索引和非聚簇索引的區(qū)別詳解

    這篇文章主要介紹了Mysql中聚簇索引和非聚簇索引的區(qū)別詳解,聚簇索引就是按照每張表的主鍵構(gòu)造一顆B+樹,同時(shí)葉子節(jié)點(diǎn)中存放的就是整張表的行記錄數(shù)據(jù),也將聚集索引的葉子節(jié)點(diǎn)稱為數(shù)據(jù)頁,需要的朋友可以參考下
    2023-07-07
  • mysql中mysql-bin.000001是什么文件可以刪除嗎

    mysql中mysql-bin.000001是什么文件可以刪除嗎

    這篇文章主要介紹了mysql中mysql-bin.000001是什么文件可以刪除嗎,需要的朋友可以參考下
    2019-05-05

最新評(píng)論