0
votes

Filtrer la table MySQL pour avec des dates maximales

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»

Si possible, j'aimerais utiliser la fonction "où".

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.


2 commentaires

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 .


3 Réponses :


0
votes

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);


0 commentaires

0
votes

Une option serait d'utiliser une logique existante: xxx

sur mysql 8+, j'aime utiliser class ici: xxx < / Pré>

Vous pouvez également utiliser l'approche de sous-requête de Gordon pour une troisième option.


0 commentaires

2
votes

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`)


0 commentaires