hoeveel records van een zeker soort zijn er in mijn database

Status
Niet open voor verdere reacties.

JEPEDEWE

Terugkerende gebruiker
Lid geworden
14 jun 2006
Berichten
1.697
Ik filter een aantal records uit een vrij groot bestand op basis van een veld dat kode heet
dit resulteert in maximum 30 records
in elk van die records vind ik een initiaal
ik wil nu weten, wel initiaal het meest voorkomt

Wat is de snelste weg om dit te weten te komen?

Bedankt
JP
 
Met een totalenquery. Groeperen op de gewenste velden, en de functie Aantal op (bijvoorbeeld) het sleutelveld.
 
ik schreef:
PHP:
SELECT DATA.KODELANG, Count(DATA.GETUIGTHER) AS AantalVanGETUIGTHER
FROM DATA
GROUP BY DATA.KODELANG
HAVING (((DATA.KODELANG)="221093870091"));
als aantal krijg ik 11, en dat is inderdaad het totaal aantal records die voldoet aan DATA.KODELANG)="221093870091"
maar
Getuigther kan 4 verschillende initialen bevatten
Ik wil dus het initiaal dat het meest , binnen deze 11 records voorkomt
dus... vrees dat mijn SQL nog niet gedetailleerd genoeg is
JP
 
Dit is ook geen Totalen query op basis van je intialen. Je zult er een veld bij moeten zetten dat een groep maakt voor die initialen. Als het om de eerste letter gaat: Initiaal:Left([KODELANG];1)
 
Initiaal is een veld apart "Getuigther"....
dus geen deel van "Kodelang"
dus
????
 
Dan pak je die :)
 
dat doe ik toch via "getuigther".... hier zitten die initialen in
dus... hoe filter ik ze er uit?
de bedoeling is dat de SQL bvb voor initiaal A - 4 heb, voor initiaal B - 3, voor initiaal C-5 records geeft
ik ga verder met de hoogste = C

JP
 
Dan wordt het toch:
Code:
Initiaal:Left([getuigther];1)
Of heb je dat al geprobeerd en werkt dat niet?
 
Dus: óf de left functie die Michel aangeeft om de initiaal ter krijgen, of het hele veld. Maar je mist het veld zelf nog in je query:
Code:
SELECT DATA.KODELANG, DATA.GETUIGTHER, Count(DATA.GETUIGTHER) AS AantalVanGETUIGTHER
FROM DATA
GROUP BY DATA.KODELANG, DATA.GETUIGTHER
HAVING (((DATA.KODELANG)="221093870091"));
Nu zou je dus zowel de initiaal als 'het aantal van' krijgen.
 
Dat lijkt mij een verkeerde query. De query van René laat nog steeds alle Gethuither records zien, en dat betekent dat de COUNT niet verder zal komen dan de waarde 1. Je moet groeperen op de initiaal, en filteren op KODE. Ik zou het eerder zo doen:
Code:
SELECT Left(GETUIGTHER,1)AS initiaal, Count(GETUIGTHER) AS AantalVanGETUIGTHER
FROM DATA
WHERE (KODELANG)="221093870091")
GROUP BY Left(GETUIGTHER,1)
 
OK Michel... dit werkt perfect
Ik krijg nu concreet als resultaat:
A 2
J 9
Nu wil ik alleen met de hoogste waarde verder, in dit geval het initiaal J.... hoe filter ik dit er uit?
JP
 
SELECT TOP 1 ... (hier_je huidige_query) ... ORDER BY Left(GETUIGTHER,1) DESC
 
Ni te doen jong! da is't gewoon... heel dikke merci
JP
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan