可以給你的數(shù)據(jù)庫里面添加一個投票次數(shù)的字段,根據(jù)這個字段,查詢時候SQL語句后面 order by 投票次數(shù) desc 就可以排行了。
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計、北辰網(wǎng)站維護(hù)等服務(wù),公司將堅持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
需要兩張表,一個是記錄表,一個是排行表
用戶收藏后,會在記錄表里記錄一條(id,uid,time)的數(shù)據(jù)
在排行表里判斷是否有uid=當(dāng)前用戶的數(shù)據(jù),如果沒有就創(chuàng)建一條(id,uid,count=1)的數(shù)據(jù),如果有就把uid=uid的這條數(shù)據(jù)更新(set count=count+1)
然后排行榜就直接從排行表里通過count desc排序就可以了
前十SQL:
SELECT * FROM `some_table`
ORDER BY `score`
LIMIT 10
自己名次如ls:
SELECT COUNT(`score`) FROM `some_table`
WHERE` score`(SELECT `score` FROM `some_table` WHERE id=#用戶的id);
就是獲得比自己分?jǐn)?shù)高的人有多少
他這個只不過是統(tǒng)計后與以前的記錄作比較,如
20130328
寒戰(zhàn) 總?cè)藲鉃?00
白雪公主 總?cè)藲鉃?00
20130329
寒戰(zhàn) 總?cè)藲鉃?09
白雪公主 總?cè)藲鉃?0
所以寒戰(zhàn)上升了,白雪公主下降了