[mysql] tonen van records waarvan een waarde meerdere malen

Pagina: 1
Acties:

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
Is het in mysql mogelijk om een select query dusdanig te formuleren dat je alleen records te zien krijgt waar bij een bepaald veld de waardes 2x voorkomen?

Dus stel dit is je tabel:

id | naam
------------
1 | jan
2 | piet
3 | kees
4 | jan
5 | karel
6 | kees


Dan wil ik dus een query doen die de rows teruggeeft waar jan en kees in voorkomen.

Is dat mogelijk en zo ja hoe?

Verwijderd

Ja .... gebruik GROUP BY om te groeperen op de namen, en HAVING met een COUNT(*) > 1 om alle groepen met meer dan 2 items te selecteren.

Succes :)

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:56
Kijk eens naar de count - functie en de having clausule....
code:
1
2
3
select count(*) as tel, naam
from bla
having tel = 2

https://fgheysels.github.io/


  • JeroenB
  • Registratie: November 1999
  • Laatst online: 10-07 20:20
HAVING moet je alleen gebruiken in combinatie met een GROUP BY clause. Anders werkt het niet of wordt het gewoon een WHERE (zoals bij SQLServer.)

code:
1
2
3
4
SELECT COUNT(naam) as cnt, naam
FROM tablenaam
GROUP BY naam
HAVING cnt = 2

Of zoiets dergelijks. Ik heb geen SQL prompt bij de hand om even te knoeien :)

[ Voor 1% gewijzigd door JeroenB op 11-12-2002 15:48 . Reden: typo ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 09:56
Eh, ja, ik was m'n group by idd vergeten. :+
Komt ervan, van snel te willen zijn. :P

https://fgheysels.github.io/