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


Two tables, sort by num rows; combine?

我有两个表,在本例中,我将它们命名为"content"answers"likes"。"内容"包含多个条目(每个条目都像一句名言或类似的东西)。

该站点允许用户点击"喜欢"按钮,因此,在"喜欢"表中插入一个条目,该条目具有"内容"表中相应的ID,因此可以追溯到它。

我想写一个查询,排序"内容"表的内容的"喜欢"表中有喜欢的数量-这是可能的吗?如果有,怎么做?

非常感谢和愉快的假期(第二部分适用,即使问题仍然没有解决)

类似于

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

每次想要显示按点赞数排序的引号时,运行这样的查询可能会对数据库造成一定的压力。您是否考虑过在引用表中添加一个仅跟踪点赞数的字段?

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

SELECT quote FROM content ORDER BY likes DESC;

这在某种程度上创造了冗余,但并非完全如此。

是的,可以这样写查询。

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