我试图通过查找它在MYSQL中收到的upvotes和downvotes的数量之间的差异来运行SELECT (SELECT COUNT(vote_id) AS vote_up FROM
票WHERE vote='UP'),(SELECT COUNT(vote_id) AS vote_down FROM
票WHERE vote='DOWN'),(vote_up - vote_down AS vote_score)
。当我尝试运行它时,它告诉我,我没有正确的语法。我究竟做错了什么?获取两个子查询的计数之间的差异
另外,有没有更好的方式来写这个?
最后,什么是找到具有最高和最低票数的项目的理想方式?我只是ORDER BY [above query]
?
+1但是,您将因缺少“GROUP BY”子句而发生错误。 – 2011-02-05 02:38:25
哇,谢谢!这工作完美。你的文章是一个很好的阅读,虽然我通常不处理很长的查询... – nickles 2011-02-05 02:52:19
@ The Scrum Meister:你说得对。固定。我最希望的SQL是,如果我没有一个GROUP BY,它会找出它应该基于我的SELECT ... – btilly 2011-02-05 03:16:08