计算表格中的前10个输入

时间:2010-01-23 11:11:16

标签: php mysql

我的网站上有一个功能,人们可以对照片进行投票。每当有人点击投票按钮时,我的脚本会在表格中添加一行(mysql)。

每一行都是这样的:(表名=喜欢)

id --------- userId --------- photoName --------- date

1 ----------- 21 -------------- 34234 ----------- 20100101

我如何找到人们投票的前10张照片? 我尝试了“ SELECT TOP 10 photoName FROM likes ”,但那不起作用......

2 个答案:

答案 0 :(得分:3)

SELECT
  COUNT(*) as points,
  photoName
FROM likes
GROUP BY photoName
ORDER BY points DESC
LIMIT 10;

答案 1 :(得分:1)

您必须使用一些countgroup by;这样的事情应该有所帮助:

select photoName, count(*) as nbLikes
from likes
group by photoName
order by count(*) desc
limit 0, 10

即。您group by photoName,并计算每张照片被曝光的次数 - order bydesc的顺序排列,以获得最受欢迎的照片;最后,您使用limit仅获取10个第一行。