SQL distinct und group by

Wenn du eine sortierte Liste haben möchtest nimm Beispiel eins.
Was für ein Datentyp hat die Spalte denn?
 
Wird bei distinct wohl auch sortiert?

Datentyp für projekt: int not null
 
letztendlich kommt das selbe raus, nur die bearbeitungsreihenfolge ist eine andere:

bei distinct wird direkt beim daten-lesen gefiltert, also erst spalte project und dann der rest (wenn distinct).
vorteil: schneller, weil ggf. weniger daten zu lesen

bei group by werden erstmal alle daten gelesen und danach wieder per loop rausgefiltert.
vorteil: hier kann auch nach berechneten werten, die nicht direkt in der db stehen, gefiltert werden.

@ltkrass: was hat das mit einer sortierten liste zu tun oO
 
Super Antwort! Jetzt weiß ich bescheid! Danke!
 
Das GROUP BY würde man üblicherweise nehmen, um noch eine Summe oder ähnliches zu bilden: Sagen wir, es gäbe eine Spalte "Arbeitsstunden", dann könnte man so etwas machen:
Code:
select projekt, sum(arbeitsstunden) from arbeitet_an where austritt is NULL group by projekt;
 
Zurück
Oben