我有两张桌子,对于这个例子,我将把它们称为“内容”和“喜欢”。 “内容”包含多个条目(每个条目都像一个着名的引用或类似的东西)。
该网站允许用户点击一个类似的按钮,因此,一个条目被插入到“赞”表中,并带有“内容”表中的相应ID,以便可以追溯。
我希望编写一个查询,根据“赞”表中的喜欢次数对“内容”表的内容进行排序 - 可能吗?如果是这样,怎么样?
非常感谢和节日快乐(即使问题仍未解决,第二部分也适用)
答案 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;
它有点创造冗余,但并不完全。只是另一种考虑。