Выберите среднее значение из таблицы MySQL с помощью LIMIT
Я пытаюсь получить среднее значение из самых низких 5 предметов, сгруппированных по имени пользователя, прикрепленному к ним. Однако нижеприведенный запрос дает среднюю цену для каждого пользователя (это, конечно, цена), но я просто хочу, чтобы один ответ был возвращен.
SELECT AVG(price)
FROM table
WHERE price > '0' && item_id = '$id'
GROUP BY username
ORDER BY price ASC
LIMIT 5
Ответы
Ответ 1
Я думаю, что это то, что вам нужно:
SELECT AVG(items.price)
FROM (SELECT t.price
FROM TABLE t
WHERE t.price > '0'
AND t.item_id = '$id'
ORDER BY t.price
LIMIT 5) items
Он вернет среднее из 5 самых низких цен - единственный ответ.
Ответ 2
Простое решение ниже.
Query:
SELECT AVG(Column_name)
FROM (SELECT Column_name
FROM Table
WHERE ColumnID < number[Limit you want] )