Je voudrais filtrer ma table et sélectionner toutes les lignes où la date est la date la dernière dans la colonne appelée «date» p>
Si possible, j'aimerais utiliser la fonction "où". p>
NOTE J'ai de nombreuses lignes à la même date. E.g J'ai une table avec tous les ventes de jours par produit, mais je ne veux voir que les ventes des derniers jours. P>
3 Réponses :
Vous pouvez utiliser une sous-requête:
select t.* from t where date = (select max(t2.date) from t t2 where t2.product = t.product);
Une option serait d'utiliser une logique existante: sur mysql 8+, j'aime utiliser Vous pouvez également utiliser l'approche de sous-requête de Gordon pour une troisième option. p> p> class code> ici: p>
Vous pouvez utiliser cette requête pour obtenir toute la liste des enregistrements dans la date de la date la plus dernière:
SELECT * FROM `table` WHERE date=(SELECT MAX(date) FROM `table`)
Montrez-nous ce que vous avez essayé.
Bienvenue dans le débordement de pile. Vous aurez une meilleure expérience ici si vous prenez le tour et lisez sur Comment demander , puis modifier votre question avec les détails nécessaires pour créer un minimal, Exemple reproductible .