Bonjour,
il me semble que je peux optimiser ma requête SQL.
Je dois afficher sur une page une liste d'utilisateurs avec leurs 3 derniers produits. J'ai une table contenant la liste des produits qui indique à qui appartient le produit et sa date d'ajout.
id_produit (clef primaire)
id_user
date
Aujourd'hui, je récupère *tous* les produits d'une liste d'utilisateurs:
SELECT * FROM produits WHERE id_user IN (...);
En PHP, je groupe ensuite les produits par utilisateur et je les classe par date pour ne prendre que les 3 derniers.
N'y a-t-il pas moyen de faire d'une pierre deux coups et d'indiquer à MySql que je ne souhaite récupérer que les 3 derniers produits ? Du genre avec GROUP BY ou DISTINCT ?
Merci de votre aide.
il me semble que je peux optimiser ma requête SQL.
Je dois afficher sur une page une liste d'utilisateurs avec leurs 3 derniers produits. J'ai une table contenant la liste des produits qui indique à qui appartient le produit et sa date d'ajout.
id_produit (clef primaire)
id_user
date
Aujourd'hui, je récupère *tous* les produits d'une liste d'utilisateurs:
SELECT * FROM produits WHERE id_user IN (...);
En PHP, je groupe ensuite les produits par utilisateur et je les classe par date pour ne prendre que les 3 derniers.
N'y a-t-il pas moyen de faire d'une pierre deux coups et d'indiquer à MySql que je ne souhaite récupérer que les 3 derniers produits ? Du genre avec GROUP BY ou DISTINCT ?
Merci de votre aide.