webForumDet fria alternativet
Logga in / Bli medlem

Utsökningsproblem

Databaser & SQL

7 svar · 351 visningar · startad av Debeo

Medlem sedan maj 200340 inlägg
Trådstart#1

Har en tabell enligt följande:

personid  |  gruppid  |  resultat

     1             3            5
     2             4            6 
     3             4            4  
     4             5            7
     5             3            6 
     6             4            8

Vad jag vill göra är att söka ut och rangordna grupperna i topplista så svaret skall bli nått sånt här:

gruppid  |  bästa resultat

     4                4
     3                5
     5                7

Hoppas jag har förklarat mitt problem så att någon fattar.

Medlem sedan dec. 20025 483 inlägg
#2
select t.gruppid
     , min(t.resultat)
  from tabell t
group
    by t.gruppid
Medlem sedan maj 200340 inlägg
#3

Får det inte att fungera utsökningen hugger den raden med lägst personid för varje grupp även fast jag kör "order by resultat asc". Detta resulterar i att grupp 4 får bästa resultat = 6 itsället för bästa reultat = 4

Medlem sedan dec. 20025 483 inlägg
#4
select t.gruppid
     , min(t.resultat)
  from tabell t
group
    by t.gruppid
order
    by 2
Medlem sedan maj 200340 inlägg
#5

"order by 2" ?

har du lust att förklara?

Medlem sedan dec. 20025 483 inlägg
#6

2 betyder att vi vill sortera på den andra kolumnen, d.v.s. min(t.resultat).

Medlem sedan maj 200340 inlägg
#7

Efter lite fixande och pulande så funkade det. Tack så mycket för hjälpen.

Medlem sedan dec. 20025 483 inlägg
#8

Vad bra! :)

Posta gärna resultatet för andra att ta del av, samt acceptera svaret som slutgiltigt.

262 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)