Si vous souhaitez obtenir le plus récent pour chaque ItemID
correspondant au Type
sélection, vous pouvez faire une sous-requête pour renvoyer d'abord le prix le plus récent, puis rejoindre la table d'origine pour l'afficher dans la sortie finale. Voici l'exemple de requête :
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;
Vous pouvez voir la démo ici :https://www.db-fiddle.com/ f/7YCaiLYz9DE11wnijWEdi/3