Heeft iemand enig idee waarom m'n volgende query relatief erg traag is? Helaas ben ik gebonden aan MySQL. `factuurnummer` is geen geindexeerd veld maar een varchar.
SELECT *
FROM boekhouding
WHERE factuurnummer
IN (
SELECT factuurnummer
FROM boekhouding
GROUP BY factuurnummer
HAVING COUNT( factuurnummer ) > 1
)
ORDER BY factuurnummer, tijd
LIMIT 0 , 50
De query selecteert alle gegevens van dubbele facturen.
SELECT *
FROM boekhouding
WHERE factuurnummer
IN (
SELECT factuurnummer
FROM boekhouding
GROUP BY factuurnummer
HAVING COUNT( factuurnummer ) > 1
)
ORDER BY factuurnummer, tijd
LIMIT 0 , 50
COUNT(`factuurnummer`) geeft het totaal aantal rows terug, zover ik weet dan.. :/
Is het niet veel makkelijker om te zorgen dat er geen dubbele factuurnummers in je database komen, en dat je gaat selecteren met DISTINCT..
En dankzij jouw GROUP BY krijg je niet alle records met dat factuurnummer omdat die rows dan als nog worden samengevoegd.
concluderend kan je dus beter de oorzaak aanpakken dat het gevolg..