SQL Unterschied ORDER BY und GROUP BY?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet
also wenn ich Tabelle hab Personen:
Geschlecht: männlich Alter: 19
Geschlecht: weiblich Alter: 18
Geschlecht: männlich Alter: 17
SELECT Geschlecht, Alter FROM Personen GROUP BY Geschlecht; 
Was kommt dann raus

Nichts sinnvolles genau 2 Einträge „männlich“ und „weiblich“

group by mach Sinn würdest du sie zähen wollen

SELECT Count(Geschlecht) AS count_geschhlecht, Geschlecht FROM Personen GROUP BY Geschlecht

(Schreibfehler darfst du behalten, meine Tastatur am Tablett zickt rum)

da würdest du auch 2 Sätze bekommen und zwar

2 | männlich

1 | weiblich

Nichtsnutz12 
Fragesteller
 27.08.2020, 16:09

ok danke kannst du mir erklären wie man diesen SQL Online editor verwendet warum muss man immer Schema bauen und wo tippt man den Code rechte oder linke Seite danke im voraus

http://sqlfiddle.com/#!9/847881/1

0
Nichtsnutz12 
Fragesteller
 27.08.2020, 16:15
@Nichtsnutz12

EDIT: ok habs selbst herausgefunden man muss links Tabelle erstellen und füllen und rechts halt die abfragen machen oha voll kompliziert egal jetzt klappts

1
Kiboman  27.08.2020, 16:52
@Nichtsnutz12

Wenn du Hilfe bei SQL brauchst sag bescheid.

Die SQL Anweisungen sind relativ simpel aber extrem mächtig, vieles was man später über anwendungs code auswerten will geht über SQL ein Vielfaches schneller

1

Hey Nichtsnutz12,

Na, order by ist wenn Du einfach sortierst.

Group by ist, wenn Du Gruppen bildest. Zum Beispiel group by gender würde nach Geschlechtern gruppieren.

Gruß

Nichtsnutz12 
Fragesteller
 27.08.2020, 15:42

ok und welches Geschlecht wäre dann als erstes männlich oder weiblich oder ist das dann alphabetisch

0
Niklas  27.08.2020, 15:44
@Nichtsnutz12

Das, das zuletzt eingetragen wurde, außer du definierst zusätzlich ein ORDER BY.

2

Ist wie der Name schon sagt: Order=Sortieren und Group=Gruppieren

ORDER BY kann mit ASC und DESC Auf- oder Absteigend sortiert werden, bei GROUP BY werden gleiche Einträge zusammengefasst, also eben gruppiert.

Woher ich das weiß:Berufserfahrung – Systemadministrator mit langjähriger Erfahrung
Nichtsnutz12 
Fragesteller
 27.08.2020, 15:46

also wenn ich Tabelle hab Personen:

Geschlecht: männlich Alter: 19

Geschlecht: weiblich Alter: 18

Geschlecht: männlich Alter: 17

SELECT Geschlecht, Alter FROM Personen GROUP BY Geschlecht;

Was kommt dann raus

0
TW1920  27.08.2020, 16:00
@Nichtsnutz12

Nen Fehler ;)

So in der Art:

ERROR: column "Tabelle.Indexspalte" must appear in the GROUP BY clause or be used in an aggregate function

LINE 1: select Geschlecht, Alter from Tabelle group by Geschlecht;

Eine gute Anleitung wie man es richtig verwendet: http://www.sql-lernen.de/group-by.php

1