我有两个表,在本例中,我将它们命名为"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