Hallo allemaal,

Gezien ik vrij weinig gebruik maak van ietsiepietsie complexere query's zit ik nu met een probleem. Ik wil uit mijn database alleen de rijen selecteren die bij "de meerderheid" horen. Dus mijn rijen zijn bijvoorbeeld:
ID TEKST NUMMER
1 - blablba - 245
2 - blajkjjj - 245
3 - hjfhsuf - 256
4 - fjsdiffjj - 245

Zoals je ziet zijn er nu 3 rijen met nummer 245, en 1 met 256, ik wil alleen die selecteren die nummer 245 hebben, alleen weet mijn script niet welk nummer precies de meesten heeft, sterker nog de ene keer is 245 in de meerderheid, de andere x weer 256. Ik weet dat je met COUNT(NUMMER) kunt tellen, en met MAX(NUMMER) hij het hoogste getal (256) teruggeeft, maar deze weet ik niet, vast weer iets leuks met GROUP BY? Ik hoop dat jullie mij snappen

Groeten Reinder
'de meerderheid', dat lees ik als 'je wilt groepjes maken en dan kijken hoe groot de groep is'. groep klinkt als GROUP BY

Probeer deze eens:

SELECT 
  MAX(COUNT(nummer)) AS meerderheid, 
  nummer 
FROM 
  tabel 
GROUP BY 
  nummer

Niet getest...
Ik zal eens kijken, heb zonet ook al wat geprobeerd met:
SELECT nummer,Count(nummer) AS aantal
FROM tabel
GROUP BY tabel.nummer
HAVING Count(tabel.nummer) > 1 ORDER BY aantal DESC
#1111 - Ongeldig gebruik van GROUP-functie
Helaas, die van pgFrank werk niet! :( Toch bedankt! Ik zal nog even verder worstelen!
SELECT nummer, Count( nummer ) AS aantal
FROM tabel
GROUP BY tabel.nummer
HAVING Count( tabel.nummer ) >1
ORDER BY aantal DESC


Werkt hier toch prima!

EDIT: Sander je hebt helemaal gelijk, had het zelf ook door, dom, zal er om denken
yo reinder let ff op je bent aan het bumpen doe volgende keer edit

Reageren