十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以给你的数据库里面添加一个投票次数的字段,根据这个字段,查询时候SQL语句后面 order by 投票次数 desc 就可以排行了。
目前创新互联公司已为上1000家的企业提供了网站建设、域名、雅安服务器托管、网站托管维护、企业网站设计、北辰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
需要两张表,一个是记录表,一个是排行表
用户收藏后,会在记录表里记录一条(id,uid,time)的数据
在排行表里判断是否有uid=当前用户的数据,如果没有就创建一条(id,uid,count=1)的数据,如果有就把uid=uid的这条数据更新(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);
就是获得比自己分数高的人有多少
他这个只不过是统计后与以前的记录作比较,如
20130328
寒战 总人气为100
白雪公主 总人气为100
20130329
寒战 总人气为109
白雪公主 总人气为50
所以寒战上升了,白雪公主下降了