所以我真正想要实现的是过滤投票最多的故事。故事保存在一张表中,所有选票保存在另一张表中。
我有这个声明来获得正确的 vid 列顺序:
SELECT vid, COUNT(id) AS votecnt
FROM votes
WHERE status = 1
GROUP BY vid
ORDER BY votecnt DESC
然后我必须自己过滤故事,并且我希望它们像在第一个子句中一样被排序。
SELECT vid, body, timestamp
FROM stories
WHERE lv = 1
AND status = 1
问题是,这是我需要的顺序,因为第一个语句不会返回第二个语句所做的所有行。如果第一个查询首先按状态 = 1 个计数对表进行排序,然后是总票数,那就更好了。
任何想法如何将所有这些加入到 SQL 查询中?或者我应该在两者之间使用 PHP 吗?
除非我严重误解了您的结构,否则简单的连接应该可以正常工作:
我不确定你的意思
因为您的 where 语句仅使用状态 = 1 的投票/故事。