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

Řádky s hodnotou null vydávají pouze v případě, že neexistuje stejný řádek s hodnotou jinou než null

Pokud chcete pro každé ItemID získat nejnovější odpovídající Type výběru, můžete provést dílčí dotaz, abyste nejprve vrátili nejnovější cenu a poté se připojili k původní tabulce, aby se zobrazila v konečném výstupu. Níže je uveden příklad dotazu:

SELECT A.* 
FROM   ItemPrices A 
JOIN   ( SELECT itemid,
                TYPE,
                MAX(fromdate) AS mdt 
         FROM   ItemPrices 
         GROUP BY itemid,TYPE ) B
ON      A.itemid=B.itemid 
        AND A.type=B.type 
        AND A.fromdate=B.mdt
WHERE   A.type=1
ORDER BY A.itemid;

Demo si můžete prohlédnout zde:https://www.db-fiddle.com/ f/7YCaiLYz9DE11wnijWEdi/3




  1. Export databáze SQLite do souboru CSV

  2. Jak naplánovat úlohy Oracle DBMS v okně

  3. Jak mohu ručně vložit soubor .png nebo .jpeg do sloupce bytea v PostgreSQL?

  4. Žádný vhodný řidič. Pokus o připojení k databázi postgresql na Heroku pomocí Hibernate