Wenn Sie für jede ItemID
die neueste erhalten möchten entsprechend dem Type
Auswahl können Sie eine Unterabfrage durchführen, um zuerst den neuesten Preis zurückzugeben, und dann der ursprünglichen Tabelle beitreten, um ihn in der Endausgabe anzuzeigen. Unten sehen Sie die Beispielabfrage:
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;
Sie können die Demo hier ansehen:https://www.db-fiddle.com/ f/7YCaiLYz9DE11wnijWEdi/3