SQL Abfrage : Doppelte aussortieren

Fragen zu allen anderen Programmiersprachen.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

SQL Abfrage : Doppelte aussortieren

Beitrag von Bisonte »

Wie der Titel schon sagt...

Nehmen wir an, meine DB hat 3 Felder in einer Tabelle:

Daten -> Spiel, User, Punkte

So nun habe ich viele datensätze zum. Bsp.

Daten -> Game1, Bisonte, 100
Daten -> Game1, Bisonte, 123
Daten -> Game1, Bisonte, 55
Daten -> Game1, PB-Spieler, 130

Also hat die DB ja nur 2 verschiedene User in ihren ganzen Datensätzen.

Wie muss die SQL Abfrage aussehen um das rauszukriegen, bzw das jeder User nur einmal angezeigt wird ? Oder geht das gar nicht ?

Also "SELECT * FROM Daten ...." oder ist das anders ?
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: SQL Abfrage : Doppelte aussortieren

Beitrag von Kiffi »

Code: Alles auswählen

Select User From Daten Group By User
Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Das war flink... gleichmal austesten ;) merci
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

für ne Auflistung der User wäre das ok

Code: Alles auswählen

Select distinct User from Tabelle
hätte es aber auch dafür getan.


Gruppierungen funktionieren meist nur mit Aggregationen (COUNT,SUM,MAX etc.) und machen auch nur dort so richtig
Sinn

also z.B.

Code: Alles auswählen

select avg(Punkt),User,game from Tabelle group by user,game
listet die gemittelten Punkte pro User und Game
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Nunja... diese Sequenzen sehe ich zum ersten mal ;)

Aber gut, würde dieses Distinct auch funtionieren, wenn ich neben dem User auch gleichzeitig noch das Game haben will ?

Im Moment funktioniert

Code: Alles auswählen

SELECT Spiel, User From Daten Group By User ORDER BY User ASC
wunderbar.

Wie müsste dann dieser distinct krams aussehen ?

Weil das ist hier ja nur eine Beispielsache, meine DB hat viel mehr Felder und Tables.... ich hab bei den Usern z.b. noch eine UserID, die ich dann natürlich auch rauskriegen müsste...

Edit: Habs schon...

Code: Alles auswählen

Select distinct SpielerID, Spielername, usw From Daten WHERE Spiel='Game1'
funktioniert wie ich es mir gedacht habe...
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag von bobobo »

na siehste

"distinct" heisst "unterscheidbar" und das bedeutet dann eben in deinem Code dass nur unterscheidbare Ergebnisssätze angezeigt werden.
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Antworten