Bonjour tout le monde,
J'aurais besoin de vos précieux conseils pour optimiser une requête que j'ai fait mais qui est bien trop lourde.
Voici ma requête :
Voici l'explication de la SQL :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 SELECT E.nom_entreprise,E.id_entreprise,A.dt_avis FROM Entreprises E JOIN Avis A USING ( id_entreprise ) JOIN ( SELECT A.id_entreprise,MAX( A.dt_avis ) AS dt_avis FROM Avis A group by A.id_entreprise ORDER BY dt_avis DESC )t USING ( id_entreprise, dt_avis ) WHERE E.ville_entreprise = 'paris' AND E.cp_entreprise = '75015' GROUP BY E.id_entreprise ORDER BY dt_avis DESC LIMIT 0 , 30
J'ai deux tables. Entreprises et Avis
La première table, j'ai dedans id_entreprise, nom_entreprise, ville_entreprise
La seconde table, j'ai dedans id_avis, id_entreprise, dt_avis (date de l'avis)
Le but de la requête, c'est d'afficher les avis les plus récent (dt_avis desc) selon la ville dans Entreprises en groupant les id_entreprise de Entreprises identiques.
Merci de votre aide !!!
Partager