mysql製作排行榜 mysql實現排行榜

2021-10-18 03:06:18 字數 1806 閱讀 5689

博主新人一枚,大家可以提出自己的寶貴意見。

下來我們進入正題。

大家首先要了解介面的場景,再就是排行榜的規則,我們這裡說的中國式排行榜。

排行榜總結了一下分為3種:

中國式排行:         非中國式排行1:              非中國式排行2:

1;                                   1;                                        1;

2;                                   2;                                        2;

2;                                   2;                                        3;

3;                                   4;                                        4;

3;                                   5;                                        5;

4;                                   5;                                        6;

5;                                   7;                                        7;

select

user_id,

@position :=

if (

@previous = good_bad_num,

@position,

@position + 1

) as position ,@previous := good_bad_num

from

select

user_id,

good_bad_num

from

v_praise_user

where office_id = everyoffice

order by

good_bad_num desc

) d,

select

@previous := - 1,

@position := 0

) as s

其實sql原理很簡單,做過jsp頁面的合併**的都清楚,定義兩個變數,乙個控制狀態,另乙個進行業務。

select

user_id,

good_bad_num

from

v_praise_user

where office_id = everyoffice

order by

good_bad_num desc

這段主要是對v_praise_user表的good_bad_num 倒序排列,獲取結果集。

select

@previous := - 1,

@position := 0

必要需要的初始化,如果不經心初始化,初次查詢會出現錯誤。

if (

@previous = good_bad_num,

@position,

@position + 1

這段sql是這個排序的核心,乙個if判斷語句,結合變數使用,實現排行業務。

@定義使用者變數,只能在mysql資料庫端執行,所以需要在資料庫端用function或者儲存過程來進行呼叫。

第一次寫博文,望輕噴。

mysql查詢排行榜 mysql 查詢排名

sql語句查詢排名 思路 有點類似迴圈裡面的自增一樣,設定乙個變數並賦予初始值,迴圈一次自增加1,從而實現排序 mysql裡則是需要先將資料查詢出來並先行按照需要排序的字段做好降序desc,或則公升序asc,設定好排序的變數 初始值為0 a 將已經排序好的資料從第一條依次取出來,取一條就自增加一,實...

mysql 實現排行榜 mysql之排名實現

前言 mysql沒有實現類似排名 rank 功能的函式。但是我們可以通過基數的查詢加上其他函式可是實現類似的功能。題目 編寫乙個 sql 查詢來實現分數排名。一 首先我們建立一張並插入一些資料如下,用於方便後面排名的演示。create table players pid int 2 not null...

奧運排行榜

每年奧運會各大 都會公布乙個排行榜,但是細心的讀者發現,不同國家的排行榜略有不同。比如中國金牌總數列第一的時候,中國 就公布 金牌榜 而美國的獎牌總數第一,於是美國 就公布 獎牌榜 如果人口少的國家公布乙個 國民人均獎牌榜 說不定非洲的國家會成為榜魁 現在就請你寫乙個程式,對每個前來諮詢的國家按照對...