Как сделать усложнение ORDER BY в MySQL - PullRequest
1 голос
/ 12 марта 2012

Есть ли способ настроить `ORDER BY` в MySQL?DESC и ASC слишком просты, чтобы выполнить полный порядок.

Я хочу присвоить вес каждому полю и рассчитать сумму для заказа.

Например, у меня есть таблица, содержащая поля A,B и C. Вес A - 2, B - 1, а C - 3. Таким образом, результат должен быть ORDER BY 2 * A + B + 3 * C DESC / ASC.Как я могу это сделать?

Ответы [ 2 ]

2 голосов
/ 12 марта 2012

Вы можете сделать:

SELECT a, b, c, (2*a+b+3*c) combined_weighting FROM table ORDER BY combined_weighting DESC;
0 голосов
/ 12 марта 2012

ORDER BY используется для возврата данных в определенном порядке, когда сервер БД возвращает данные обратно в поток. Вы пытаетесь создать сложную формулу для ORDER BY, которая должна быть учтена в предложении GROUP BY И вполне возможных таблицах TEMP

...