假设我有这个数据库(作为例子)
无论如何,我想制作一个“最喜欢”的问题部分,但“喜欢”在不同的数据库表中,因此likes
。无论如何,我在id
中问题的question_id
是相同的......但是......我如何在MYSQL查询中计算它们?
感谢。
答案 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