萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql中set @rowNum=0實現查詢記錄的行號

mysql中set @rowNum=0實現查詢記錄的行號

行號在mssql中我們可以使用ROW_NUMBER()函數可以實現,但在mysql中是沒有此函數的但小編排查之後可以使用set @rowNum=0實現查詢記錄的行號,具體如下。


這個問題源於SF上的一個問題:

字段
id,shares // 分享次數
記錄
1, 2
2, 0
3, 1
4, 0,
5, 1

需求 計算某條記錄的分享排行

假設計算id 2 的分享排行 則是4

sql 能算出某條記錄的 分享排行嗎?

 
SQLServer提供了ROW_NUMBER()函數可以實現。

但是mysql沒有提供類似的函數,網上查了點資料,可以利用預定義變量解決。

實驗數據:

mysql有點麻煩,給一下思路,數據表如下:

t

mysql沒有像sql server一樣提供記錄行數的函數,但可以用預定義變量實現:


t1


全部排名之後,可以查詢特定的一條記錄的排名

t2

copyright © 萬盛學電腦網 all rights reserved