SQL, kann man nur ein ausgewähltes GROUP ausgeben?

Hallo,

ich simuliere 100 mal das Spiel 17+4. Am Ende soll nur der erste Versuch, wo man tatsächlich 21 Punkt hat, ausgegeben werden.

Nach paar SQL Befehlen:
SELECT *
FROM 17+4_tabelle
WHERE trcumsum

Hi,

ich kenne das Spiel 17+4 nicht. Grundsätzlich kann man aber auch bei „GroupBy“ - Statements „top“ und „order by“ verwenden - du kannst also nach z. B. nach trnum sortieren und nur den ersten Satz mit „top 1“ abholen. Mit dem „Select *“ bin ich mir nicht sicher ob es so geht - wenn man Aggregatfunktionen wie „group by“ verwendet, kann man glaube ich nur das ausgeben nach was man gruppiert hatte. Probiere mal etwas wie

SELECT top 1 trnum
FROM 17+4_tabelle
WHERE trcumsum

Ich denke, das geht mit einen subselect.
(ich weiss jetzt nicht, welche Felder du wirklich haben willst - deine group-Angabe ist verkürzt, oder?)

select A1.x, A1.y, z, min(A1.trnum) from
( SELECT x, y, z, trnum, trcumsum
FROM 17+4_tabelle
WHERE trcumsum

Hallo Balacha,

ich glaube das geht viel kürzer und schneller. Probiers mal mit:

SELECT trnum
FROM 17+4_tabelle
WHERE trcumsum = 21
ORDER BY trnum

Dieses Statement liefert alle Versuche wo 21 erreicht wurde aufsteigend sortiert. Man müsste sich nur aus der Ergebnissgruppe den ersten nehmen und ausgeben.

Das würde wahrscheinlich am längsten gehen. Mir fällt im Moment leider nichts besseres ein.
Das müsste aber dein Problem ziemlich gut lösen.

Viele Grüsse
Thilo