Порядок по сумме двух полей
Допустим, у меня есть таблица с karma_up и karma_down. Каждый раз, когда кто-то голосует за karma_up, он увеличивается, и каждый раз, когда кто-то голосует против karma_down, он также увеличивается. Как я могу извлечь эти строки и упорядочить их по сумме этих новых значений? ЗАКАЗ ПО (karma_up - karma_down), похоже, работает не так, как я хочу. Я просто хочу, чтобы ряды с самой высокой кармой были наверху.
9
Author: Virat Kadaru, 2009-08-21
3 answers
Очень просто
SELECT
ID, KARMA_UP, KARMA_DOWN, (KARMA_UP-KARMA_DOWN) AS USER_KARMA
FROM KARMA
ORDER BY USER_KARMA DESC
19
Author: Virat Kadaru, 2009-08-20 22:49:25
SELECT *, karma_up - karma_down AS karma_total
FROM MyTable
ORDER BY karma_total DESC;
6
Author: Bill Karwin, 2009-08-20 22:41:01
Работает ли это? Если нет, не могли бы вы включить результаты в свой вопрос? Упорядочение по выражению должно работать так, как ожидалось.
SELECT `post_id`, `karma_up`, `karma_down`, `karma_up` - `karma_down` AS `total`
ORDER BY `total` DESC
0
Author: John Millikin, 2009-08-20 22:40:51