|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2010 Messages : 14 ![]() |
Bonjour,
Je suis débutant sur Access et j'ai besoin d'aide pour réaliser une requête particulière, à savoir : j'ai une table par exemple "Voyages" dans cette table 3 champs "VILLES" - "HOTEL" "NOMBRE DE VISITES" (avec beaucoup de données dans chaque champ) Si je veux à travers une requête n'afficher que les 3 "HOTELS" par "VILLE" recevant le plus grand "NOMBRE DE VISITES" Comment dois-je procéder ? Merci de votre aide Bonne journée BL |
|
|
00
|
|
|
#2 | ||||||||||
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Hello
je ne suis pas arrivé en une seule requête par contre, TOP 3 dans la requête sur une seule ville te donne bien les trois hotels les plus fréquentés en huit requêtes, ça donne: 1° pour avoir les sommes par ville et par hotel: Req1 Code :
SELECT DISTINCT Ville, Hotel, Sum(nbvisit) AS Som_NbVisit FROM Voyages GROUP BY Ville, Hotel; Code :
SELECT Ville FROM Voyages GROUP BY Ville;
Code :
SELECT Req2.Ville, Max(Som_NbVisit) AS NbVisit_Hotel1 FROM Req2 INNER JOIN Req1 ON Req2.Ville = Req1.Ville GROUP BY Req2.Ville; Code :
Code :
Code :
Code :
Code :
En espérant avoir aidé PS que les pros du SQL améliorent ça et j'en serai ravi
__________________
-------------------Simplifi----------comme si tout était simple-------- |
||||||||||
|
|
00
|
|
|
#3 | ||
|
Expert Confirmé Sénior
![]() ![]() Fabien Enseignant Inscription : janvier 2009 Messages : 2 410 ![]() |
bonsoir,
si j'ai bien compris, on devrait s'en sortir avec un IN et un SELECT TOP 3: Code sql :
|
||
|
10
|
|
|
#4 |
|
Membre Expert
![]() Jacques PetiotIndépendant développeur et formateur Inscription : octobre 2007 Messages : 891 ![]() |
Merci f-leb
j'avais déjà utilisé IN mais je ne pensais pas qu'on puisse s'en servir comme d'une fonction. Petit bémol: dans mon test, j'ai voulu la baser sur une requête de regroupement sur 250 000 lignes (la Req1) et là, j'ai cru que mon PC était mort (plus de 5mn avec core i3) par contre en modfiant ma requête de regroupement en création de table (400 lignes) alors l'exécution est immédiate Encore merci
__________________
-------------------Simplifi----------comme si tout était simple-------- |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com