第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mysql對數(shù)據(jù)統(tǒng)計后實現(xiàn)排名

mysql對數(shù)據(jù)統(tǒng)計后實現(xiàn)排名

PHP
皈依舞 2019-03-12 16:17:25
1、需求是統(tǒng)計用戶答題的榜單,用戶答題的數(shù)據(jù)表存了用戶id,答題題目和答題時間,現(xiàn)在需要根據(jù)答題數(shù)和答題時間進行統(tǒng)計和得到排名。2、之前嘗試使用了以下方法進行統(tǒng)計 SET @counter=0; select @counter:=@counter+1 AS rank,uid,count(*) answercount,sum(finishtime) timestampsum from huiyi_answer_record group by uid order by answercount DESC,timestampsum ASC limit 0,10; 然后發(fā)現(xiàn)排名只依賴第一個Order條件,當?shù)诙€條件導致順序改變的時候排名依舊沒有改變。3、問題1:請問應該怎么正確對統(tǒng)計后的數(shù)據(jù)進行排名(有分頁)?4、問題2:請問在每次分頁下,怎么能直接得到某個用戶的排名和數(shù)據(jù)? 5、補充測試結果。如圖,mysql返回的結果排序是正確的,但rank不對。
查看完整描述

5 回答

?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

用子查詢

SET @counter=0;

select t2.* from (

    select t1.*,@counter:=@counter+1 AS rank from (
        select uid,count(*) answercount,sum(finishtime) timestampsum  from huiyi_answer_record group by uid order by answercount DESC,timestampsum asc
    ) as t1

) as t2 limit 2,2;

# 或者

SET @counter=2; #查詢第二頁,假如每頁2條,起始值就是2

select t1.*,@counter:=@counter+1 AS rank from (
    select uid,count(*) answercount,sum(finishtime) timestampsum  from huiyi_answer_record group by uid order by answercount DESC,timestampsum asc
) as t1 limit 2,2
查看完整回答
反對 回復 2019-03-18
?
慕沐林林

TA貢獻2016條經(jīng)驗 獲得超9個贊

你是想對答題數(shù)目 和 時間 分別賦予不同權重么.
像你這種排序, 它是優(yōu)先第一位的
就好比

A    B
20   5
19   9999

不管你B有多大, 你的A比別人小它永遠在后面

查看完整回答
反對 回復 2019-03-18
?
嚕嚕噠

TA貢獻1784條經(jīng)驗 獲得超7個贊

第二排序是當?shù)谝粋€排序的字段相同時才會生效

查看完整回答
反對 回復 2019-03-18
?
HUWWW

TA貢獻1874條經(jīng)驗 獲得超12個贊

redis sorted set

查看完整回答
反對 回復 2019-03-18
  • 5 回答
  • 0 關注
  • 672 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號