数据库 mysql表pic(pic_is,user_id,comment_num,praise_num,browser_num,hot_status)hot_status 为图片状态(1,2,3),其中3表示是热图。
我想查出用户id(去重)列表,并且是按这个计算权重的倒序排序,
计算公式:comment_num*2+praise_num+browser_num*0.2+热图数*3就是说按某个用户的所有图片的评论总数*2加上他的所有图片的赞数,加上他的所有图片的浏览数*0.2,再加上他的所有热图数*3,按这个计算出来的值倒序排序……不知道我说的明白不。在线,等高手回答,,,,,跪求……
我想查出用户id(去重)列表,并且是按这个计算权重的倒序排序,
计算公式:comment_num*2+praise_num+browser_num*0.2+热图数*3就是说按某个用户的所有图片的评论总数*2加上他的所有图片的赞数,加上他的所有图片的浏览数*0.2,再加上他的所有热图数*3,按这个计算出来的值倒序排序……不知道我说的明白不。在线,等高手回答,,,,,跪求……
from (
select userid,sum(comment_num)*2+sum(praise_num)+sum(browser_num)*0.2+sum(热图数)*3 as quanzhong
from tb
group by user_id
) D
order by quanzhong desc
limit 10;
form pic
group by user_id
order by 2 desc
sum(热图数) = select count(*) from TB where user_id = "xxx" ?
select userid,sum(comment_num)*2+sum(praise_num)+sum(browser_num)*0.2+sum(热图数)*3 as quanzhong
from tb
group by user_id order by 2 desc
FROM tb
GROUP BY user_id ORDER BY 2 DESC;
sum(if(hot_status=3,1,0))*3 as quanzhong
from tb
group by user_id order by 2 desc
sum(if(hot_status=3,1,0))*3,就是了~~~