Extra veld in query aangevend "rangnummer" o.b.v. een veldinhoud

Status
Niet open voor verdere reacties.

HHunnekens

Gebruiker
Lid geworden
16 apr 2013
Berichten
63
Goedemorgen,

Graag zou ik aan een query willen toevoegen ( in de SELECT component ) een rang-sorteringsnummer o.b.v. omzetcijfers voor een bepaald tijdvak.

Voorbeeld :

Een extra kolom voor het "rangnummer" van klanten - aflopend - gesorteerd op hun omzetcijfer.

Ik had gehoopt op zoiets als ( redenerend vanuit SQL ) :

Code:
SELECT  ROW_NUMBER() OVER(ORDER BY jaaromzet DES)

Dit krijg ik echter vooralsnog niet werkend.

Kent iemand de juiste syntaxis ?

Bij voorbaat hartelijk dank !

Mvg,

Hans Hunnekens
 
Geen idee wat je wilt; sorteren doe je met ORDER By, en die heb je er al bijstaan. Overigens mis ik een tabel, en van OVER() heb ik nog nooit gehoord. En al helemaal niet in deze context.
...voor een bepaald tijdvak.
Wellicht wil je een filtering toevoegen voor je tijdvak? Dat doe je met WHERE.
 
Ter verduidelijking

Hoi,

Dank voor je 1e reactie.

Ter verduidelijking :

Ik zou graag allereerst onze klanten willen kunnen sorteren, zeg - in casu - op omzetgrootte.

Dit is - als bekend - gemakkelijk te realiseren met ORDER BY ( als allerlaatste component van een SELECT instructie ).

Echter, ik wil graag nog iets extra's, nl. een rangnummer toevoegen als een EXTRA kolom in een selectie-query. Dit op een dusdanige manier dat ik hier zelf verder geen extra code voor hoef te schrijven, anders dan de door mij beschreven ( toch volgens mij redelijke standaard ) SQL instructie ( een zogenoemde O L A P - functie ( waarbij OLAP staat voor : OnLine Analytical Processing )).

Ik zou dan bijv. een SELECTIE query kunnen schrijven, soortgelijk als :

Code:
SELECT Klantnummer, Klantnaam, SUM(omzet) As Jaaromzet, [B]ROWNUMBER() OVER(ORDER BY jaaromzet DES)[/B]
FROM    tblVerkoopregels
WHERE  Factuurdatum BETWEEN '2013-01-01' AND '2013-12-31'
GROUP BY Klantnummer
ORDER BY Klantnummer

Je ziet dan in de SELECT component (bovenstaand) als LAATSTE genoemd, hetgeen ik maar niet "gedraaid" kan krijgen in Access.

Wellicht echter dat dit niet voorhanden is in Access, of dat ik een andere syntaxis nodig heb ?

Bvd, mvg,

Hans Hunnekens
 
Laatst bewerkt:
Volgens mij kent Access geen OVER. Dus dan zul je al een Pass-Through query moeten maken op je SQL server database.
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan