我的网站上有一个功能,人们可以对照片进行投票。每当有人点击投票按钮时,我的脚本会在表格中添加一行(mysql)。
每一行都是这样的:(表名=喜欢)
id --------- userId --------- photoName --------- date
1 ----------- 21 -------------- 34234 ----------- 20100101
我如何找到人们投票的前10张照片? 我尝试了“ SELECT TOP 10 photoName FROM likes ”,但那不起作用......
答案 0 :(得分:3)
SELECT
COUNT(*) as points,
photoName
FROM likes
GROUP BY photoName
ORDER BY points DESC
LIMIT 10;
答案 1 :(得分:1)
您必须使用一些count
和group by
;这样的事情应该有所帮助:
select photoName, count(*) as nbLikes
from likes
group by photoName
order by count(*) desc
limit 0, 10
即。您group by photoName
,并计算每张照片被曝光的次数 - order by
以desc
的顺序排列,以获得最受欢迎的照片;最后,您使用limit
仅获取10个第一行。