Hi,
ich lerne gerade SQL und bin auf GROUP BY und DISTINCT gestoßen. Mir erschließt sich nicht wirklich weshalb ich DISTINCT überhaupt verwenden sollte.
Nach meiner jetzigen Sicht schließt distinct doppelte Daten aus. Allerdings sind die selben Ergebnisse auch mit GROUP BY möglich. Das macht im speziellen keinen Unterschied wenn ich von einer anderen Programmiersprache auf die Ergebnismenge zugreife.
Was mir noch mehr zu schaffen macht, in einem einfachen Test, mit dieser Tabelle:
auf welche ich folgende Abfragen aufwende:
ist GROUP BY mit 0.0007 sek. schneller als DISTINCT mit 0.0008 sek.
In vielen Forenbeiträgen die ich über die Vergleiche gelesen habe wurde zwar gesagt, das es sich bei beiden Abfragen um grundlegend andere Dinge handelt. Aber wenn sich die selbe Ergebnismenge auch über ein GROUP BY erreichen lässt, der Befehl "Mächtiger" als der andere und gleichzeitig schneller ist, frag ich mich weshalb ich DISTINCT überhaupt verwenden sollte.
Etliche male wurde darauf hingewiesen das DISTINCT eben für viele überschaubarer wäre. Das halte ich allerdings für totalen Quatsch. Es kann doch nicht die Intention der SQL-Entwickler gewesen sein, einfach nur einen Befehl einzuführen, nur weil der Code dann für manche leichter lesbar wäre. Ein Befehl wäre meiner Meinung nach auch lesbarer.
Ich schätze das es ein Anwendungsgebiet für DISTINCT gibt das sich mir noch nicht erschlossen hat. Irgendeine Daseinsberechtigung muss es ja haben..
ich lerne gerade SQL und bin auf GROUP BY und DISTINCT gestoßen. Mir erschließt sich nicht wirklich weshalb ich DISTINCT überhaupt verwenden sollte.
Nach meiner jetzigen Sicht schließt distinct doppelte Daten aus. Allerdings sind die selben Ergebnisse auch mit GROUP BY möglich. Das macht im speziellen keinen Unterschied wenn ich von einer anderen Programmiersprache auf die Ergebnismenge zugreife.
Was mir noch mehr zu schaffen macht, in einem einfachen Test, mit dieser Tabelle:
Code:
Warengruppe, Name, Ist essen, Kekse , 3 essen, SCHOKOLADE, 2 essen, MarZipAn, 1 trinken, coca-cola, 0 trinken, FANTa, 8 besteck, teLLer, 2 besteck, gabeln, 1
SELECT `Warengruppe`FROM `test`GROUP BY Warengruppe
SELECT DISTINCT `Warengruppe`FROM `test`
SELECT DISTINCT `Warengruppe`FROM `test`
In vielen Forenbeiträgen die ich über die Vergleiche gelesen habe wurde zwar gesagt, das es sich bei beiden Abfragen um grundlegend andere Dinge handelt. Aber wenn sich die selbe Ergebnismenge auch über ein GROUP BY erreichen lässt, der Befehl "Mächtiger" als der andere und gleichzeitig schneller ist, frag ich mich weshalb ich DISTINCT überhaupt verwenden sollte.
Etliche male wurde darauf hingewiesen das DISTINCT eben für viele überschaubarer wäre. Das halte ich allerdings für totalen Quatsch. Es kann doch nicht die Intention der SQL-Entwickler gewesen sein, einfach nur einen Befehl einzuführen, nur weil der Code dann für manche leichter lesbar wäre. Ein Befehl wäre meiner Meinung nach auch lesbarer.
Ich schätze das es ein Anwendungsgebiet für DISTINCT gibt das sich mir noch nicht erschlossen hat. Irgendeine Daseinsberechtigung muss es ja haben..
Comment