Здравствуйте. Как сортировать записи по среднему арифметическому?
Есть у меня таблица id|price1|price2|price3
Как получить среднее число всех price и отсортировать по нему?
SELECT id,(((SELECT price FROM table where value = table1.value1) + (SELECT price FROM table where value = table1.value2) + (SELECT price FROM table where value = table1.value3) + (SELECT price FROM table where value = table1.value4) + (SELECT price FROM table where value = table1.value5))/5) as avgprice FROM table1 ORDER BY avgprice;
Делаю так но avgprice null, подскажите в чем проблема?
тогда, как то так (нужно тестить)
SELECT
table1.id,
AVG(table2.price) as avgprive
FROM table1
LEFT JOIN table2 ON table2.`value` IN (table1.value1, table1.value2, table1.value3, table1.value4, table1.value5)
GROUP BY table1.id
ORDER BY avgprive