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
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