TOP n GROUP BY

Status
Niet open voor verdere reacties.

JDrop

Nieuwe gebruiker
Lid geworden
21 mrt 2008
Berichten
1
Ik heb al lang zitten stoeien en het nodige zoekwerk gedaan op het inet maar tot nu toe niets... Ik hoop dat iemand mij kan helpen.
MS-Acces SQL (geen SQL server)

tabel1: hotel | bezoeker | bedrag

Een bezoeker besteedt in hotel een bepaald bedrag.
De bezoeker komt regelmatig terug in hetzelfde hotel.
Maar diezelfde bezoeker komt ook in andere hotels en besteed daar ook een bepaald bedrag.

Ik wil nu de top 3 bezoekers weten (gebaseerd op totaal besteed bedrag in een hotel) van ieder hotel, gegroepeerd op hotel.

Het resultaat moet er zo uit zien (in fictief voorbeeld hebben we maar 2 hotels):
amsterdamhotel, jansen, 2010
amsterdamhotel, pietersen, 1872
amsterdamhotel, putten, 710
rotterdamhotel, pietersen, 761
rotterdamhotel, jansen, 701
rotterdamhotel, twijnstra, 429


Deze werkt (uiteraard) niet:

SELECT TOP 3 hotel, bezoeker, SUM(bedrag) AS SumOfBedrag
FROM tabel1
GROUP BY hotel, bezoeker;
 
Onmogelijk...

Met alleen SQL kom ik er niet. Wel met een beetje VBA
Run BuildQuery in mijn voorbeeld.
Die maakt een union query die de top drie van ieder hotel in de Table1
(select distinct Hotel from Table1)

HTH:D
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan