MySQL query: count in de "where" werkt niet?

Pagina: 1
Acties:

  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
Ik voer de volgende query uit op een database, om alle email adressen te zien die meer dan 1x voorkomen:

code:
1
2
3
4
5
6
SELECT 
`email`,
count(`email`) AS `aantal`
FROM `users` 
GROUP BY `email`
LIMIT 2000


Nu krijg ik echter een rij terug, waarin alle email adressen staan, met daarachter het aantal keer dat ze voorkomen. Echter, nu wil ik alle email adressen zien die meer dan 1 keer voorkomen, ik maakte het volgende:

code:
1
2
3
4
5
6
7
SELECT 
`email`,
count(`email`) AS `aantal`
FROM `users` 
GROUP BY `email`
WHERE count(`email`)>1
LIMIT 2000


Ik heb de WHERE ook al voor group geprobeerd te zetten. Dit wil echter niet lukken. In google en op de mysql site kom ik ook nergens voorbeelden tegen van een count in de WHERE omgeving. Hoe pak ik dit het slimst aan?

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

HAVING

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

WHERE wordt voor de GROUP BY uitgevoerd, dan heb je de count nog niet.
HAVING is je vriend.

Who is John Galt?


  • pierre-oord
  • Registratie: April 2002
  • Laatst online: 12-04 14:05
Werkt perfect! Voor de volledigheid nog even de complete query:
SELECT
`email`,
count(`email`) AS `aantal`
FROM `users`
GROUP BY `email`
HAVING count(`email`)>1
LIMIT 1000

Ondernemer in tech (oud LOQED.com, nu UpToMore.com)