MySQL - 按ID计算编号

时间:2011-07-19 05:20:05

标签: php mysql

假设我有这个数据库(作为例子)

enter image description here

无论如何,我想制作一个“最喜欢”的问题部分,但“喜欢”在不同的数据库表中,因此likes。无论如何,我在id中问题的question_id是相同的......但是......我如何在MYSQL查询中计算它们?

感谢。

2 个答案:

答案 0 :(得分:2)

如何在表格之间使用inner join,在问题ID上使用group by

select question.id, question.question_title, count(*) as num_likes
from question
    inner join likes on likes.question_id = question.id
group by question.id
order by count(*) desc
limit 0, 10

这应该可以为您提供10个最受欢迎的问题,其中每个问题都是您最喜欢的问题。

答案 1 :(得分:1)

SELECT x.id,x.question_title,x.desc,x.category,COUNT(*) AS likes FROM question x LEFT JOIN likes y ON x.id=y.question_id GROUP BY x.id,x.question_title,x.desc,x.category ORDER BY COUNT(*) DESC