Om du vill få det senaste för varje ItemID
som motsvarar Type
val, kan du göra en underfråga för att returnera det senaste priset först och sedan gå med i den ursprungliga tabellen för att visa det i slutresultatet. Nedan är exempelfrågan:
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;
Du kan se demon här :https://www.db-fiddle.com/ f/7YCaiLYz9DE11wnijWEdi/3