Autor Beitrag
Kostas
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Fr 08.07.11 16:29 
Hallo Zusammen,

ich habe die Beispieltabelle:
Aus der Tabelle sollen pro TEILNEHMERID das größte ERGEBNIS
ausgegeben werden. Die schwirigkeit dabei ist, beim größten Ergebnis
soll auch das Primary Key Feld ID ausgegeben werden.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
ID  TEILNEHMERID, max(ERGEBNIS)
1       1          2
2       1          5
3       2          6
4       2          8
5       3          10
6       3          18
7       3          19 

SELECT TEILNEHMERID, max(ERGEBNIS)
...
GROUP BY TEILNEHMERID


Antwort des Selects:
ausblenden Quelltext
1:
2:
3:
4:
TEILNEHMERID, max(ERGEBNIS)
     1          5
     2          8
     3          19


Ich benötige jedoch das:
ausblenden Quelltext
1:
2:
3:
4:
ID  TEILNEHMERID, max(ERGEBNIS)
2       1          5
4       2          8
7       3          19


Hat jemand eine Idee?

Gruß Kostas
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Fr 08.07.11 19:36 
Hallo,

was passiert denn, wenn du das ID-Feld einfach noch mit in die SELECT-Klausel mit aufnimmst? Bringt er dann eine Zufällige ID der TEILNEHMERID?

Sonst könntest du verschachtelte Queries verwenden, was aber natürlich nicht so performant ist:

ausblenden SQL-Anweisung
1:
2:
3:
4:
5:
6:
7:
SELECT ID, TEILEHMERID, ERGEBNIS
FROM tabelle AS t1
WHERE ERGEBNIS = (
  SELECT MAX(ERGEBNIS)
  FROM tabelle AS t2
  WHERE t1.TEILEHMERID = t2.TEILNEHMERID
)


Grüße,
Yogu

PS: Bitte verwende die <span class="inlineSyntax">{PROTECTTAGbd8e04c1aa8be83629b488502367c501}</span>- statt den <span class="inlineSyntax"></span>-Tags.
Kostas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 23



BeitragVerfasst: Sa 09.07.11 08:11 
Zitat:
Hallo,

was passiert denn, wenn du das ID-Feld einfach noch mit in die SELECT-Klausel mit aufnimmst? Bringt er dann eine Zufällige ID der TEILNEHMERID?

Wenn das ID Feld im Select vorkommt, muss es auch group by vorhanden sein.
Als Ergebnis würde ich dann alle Datensätze bekommen da die ID eindeutig is.


Zitat:

Sonst könntest du verschachtelte Queries verwenden, was aber natürlich nicht so performant ist:


Ja natürlich, daran habe ich nicht gedacht. So wird es funktionieren.
Besten Dank und noch einen schönen Tag.

Zitat:

PS: Bitte verwende die <span class="inlineSyntax">{PROTECTTAGce95ac736f699889e3f1e163b993e5f9}</span>- statt den <span class="inlineSyntax"></span>-Tags.


Gibt es eine Liste der Tags?
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Sa 09.07.11 19:42 
user profile iconKostas hat folgendes geschrieben Zum zitierten Posting springen:
Gibt es eine Liste der Tags?

Unter Bereiche, wo standardmäßig Delphi steht, kannst du verschiedene Code-Tags auwählen.