sql >> Databáze >  >> RDS >> Mysql

Dotaz na dvě db pomocí seskupit podle a zobrazit podrobné informace

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.




  1. Kdy funkce MySQL ORDER BY RAND() objednává?

  2. zkuste změnit adresář bin log:mysql-bin.index nenalezen (Errcode:13)

  3. Vytvořte si oblíbený seznam se sdílenými preferencemi

  4. Nejlepší způsob, jak vybrat náhodné řádky PostgreSQL