我想从mysql数据库中检索行并按投票排序:
votes_up + votes_down = votes
表:
posts{id, post_text, votes_up, votes_down, date}
ORDER BY votes
答案 0 :(得分:6)
SELECT id, post_text, votes_up, votes_down, date, sum(votes_up + votes_down) as 'Votes'
FROM posts
ORDER BY sum(votes_up + votes_down)
答案 1 :(得分:3)
传统SQL允许您在ORDER BY中使用列别名:
SELECT p.votes_up + p.votes_down AS total_votes
FROM POSTS p
ORDER BY total_votes
答案 2 :(得分:1)
您可以使用blablabla ORDER BY sum(votes_up + votes_down)
,但要小心,不要在高负载的生产数据库上使用它,因为sum()将“动态”计算,对于大型表来说速度非常慢!