SELECT DISTINCT
Met GROUP BY
kan je er voor zorgen dat bepaalde waarden worden samengenomen. Op die manier kan je bijvoorbeeld (voor de dataset met honden) elk geslacht één keer tonen. Dat is nuttig, want vaak zijn we niet geïnteresseerd in dubbels. We hebben echter gezien dat na groepering enkel gegroepeerde of geaggregeerde waarden kunnen tonen.
Er is een andere (en meer expliciete) manier om dubbels te vermijden: SELECT
laten volgen door het sleutelwoordje DISTINCT
. Hierdoor worden alle dubbele resultaten verwijderd. "Dubbel" wordt hier geïnterpreteerd als "gelijk volgens de collation van de kolom in kwestie".
Volgende query geeft je alle hondennamen (0056__SelectHonden.sql) precies één keer:
USE ApDB;
SELECT DISTINCT Naam
FROM Honden;
Na DISTINCT
kan je schrijven wat je bij een gewone SELECT
zou kunnen schrijven, dus dit gaat ook:
USE ApDB;
SELECT DISTINCT Naam, Geslacht
FROM Honden;
Je kan DISTINCT
ook gebruiken binnen sommige aggregatiefuncties. Bijvoorbeeld: COUNT(DISTINCT Naam)
om het aantal verschillende namen te weten te komen. Over welke aggregatiefuncties het gaat, vind je hier terug.
Last updated
Was this helpful?