Упорядочивание строк mysql из производных столбцов - PullRequest
1 голос
/ 30 октября 2010

Я хотел получить строки из базы данных mysql и упорядочить их по голосам:

votes_up + votes_down = votes

таблица:

posts{id, post_text, votes_up, votes_down, date}
ORDER BY votes

Ответы [ 3 ]

6 голосов
/ 30 октября 2010
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)
3 голосов
/ 30 октября 2010

Традиционный SQL позволяет использовать псевдонимы столбцов в ORDER BY:

  SELECT p.votes_up + p.votes_down AS total_votes
    FROM POSTS p
ORDER BY total_votes
1 голос
/ 30 октября 2010

Вы можете использовать blablabla ORDER BY sum(votes_up + votes_down), но будьте осторожны и не используйте это в высоконагруженных производственных базах данных, потому что sum () будет вычисляться «на лету» и будет очень медленным для больших таблиц!

...