两个表,按num行排序;结合?

时间:2011-12-25 22:53:20

标签: php mysql sorting

我有两张桌子,对于这个例子,我将把它们称为“内容”和“喜欢”。 “内容”包含多个条目(每个条目都像一个着名的引用或类似的东西)。

该网站允许用户点击一个类似的按钮,因此,一个条目被插入到“赞”表中,并带有“内容”表中的相应ID,以便可以追溯。

我希望编写一个查询,根据“赞”表中的喜欢次数对“内容”表的内容进行排序 - 可能吗?如果是这样,怎么样?

非常感谢和节日快乐(即使问题仍未解决,第二部分也适用)

3 个答案:

答案 0 :(得分:1)

是的,可以编写这样的查询。

SELECT count(*) as total, content.*
FROM content, likes
WHERE content.id = likes.id
GROUP BY total
ORDER BY total desc

答案 1 :(得分:1)

类似的东西:

SELECT c.*
  FROM Content c, Likes l
 WHERE c.Content_Id = l.Content_Id
 GROUP BY c.Content_Id
 ORDER BY COUNT(*) DESC

答案 2 :(得分:1)

每次要显示按喜好次数排序的引号时,运行类似的查询可能会对数据库造成一定的影响。您是否考虑在引号表中添加一个字段,仅跟踪喜欢的数量?

这样,像这样的查询就足够了:

SELECT quote FROM content ORDER BY likes DESC;

它有点创造冗余,但并不完全。只是另一种考虑。