Я ищу, чтобы получить 20 наивысших текущих продуктов.Mysql получить текущие по самой высокой цене изделия
У меня есть таблица продуктов, в которой есть таблица цен.
продукты: ID
цены: Идентификация, PRODUCT_ID, значение, CHANGE_DATE
Вот пример.
Product: 1
price: 11, change_date 12/1/2013, value: $10
price: 12, change_date 11/1/2013, value: $15
Product: 2
price: 21, change_date: 12/1/2013, value: $12
price: 22, change_date: 11/1/2013, value: $10
Product: 3
price: 31, change_date: 11/1/2013, value: $20
Самые высокие "текущих" продуктов цене будет 3, чем 2, чем 1
Как бы я выполнить это в MySQL?
Я пробовал следующее, но столбец значений не соответствует значению, связанному с строкой max (change_date). Таким образом, сортировка сорвана в результате.
SELECT id, product_id, price, max(change_date)
FROM prices
GROUP BY product_id
ORDER BY value DESC
LIMIT 20
Спасибо!
К счастью, этот вопрос задают каждый день в SO – Strawberry
@Strawberry, затем отметьте как DUP и реф, нет? –
'groupwise-maximum'? Разве это не должно быть «наибольшее-n-на-группу»? –