PŘIPOJTE SE k nim:
SELECT r.product_id, i.brand, i.name, i.category, DATE_FORMAT( r.inputTime, '%e-%b' ) AS inputTime, r.shopType, r.price AS minimum_price, r.record_id
FROM ( SELECT *
FROM itemRecord
WHERE product_id = '1'
ORDER BY price ASC, inputTime DESC) AS r
INNER JOIN itemInfo As i
ON r.product_id = i.product_id
WHERE i.id = r.product_id
GROUP BY DATE(r.inputTime)
LIMIT 0, 7
Vysvětlení:
Udělám vnitřní dotaz, který vykreslí pořadí tabulky podle price ASC
místo výchozího řekněme id ASC
. Když GROUP BY
řádků, ve výchozím nastavení používá sloupce z prvního řádku, což je v tomto případě ten s nejnižší cenou.
Vaše řešení nefungovalo, protože možná zvolilo první id a ne řádek s nejnižší cenou. Jediný sloupec, který byl správný, byl MIN( r.price ), ale jak jste si všimli, funkce neovlivnila ostatní sloupce ve výsledku.