webForumDet fria alternativet

Hämta poster med högst värde inom gruppen

Databaser & SQL

4 svar · 374 visningar · startad av inspiro

Medlem sedan sep. 2005673 inlägg
Frågan#1

Har en tabell med data som ser ut så här:

Id | GroupId | Time
1    1         15:30
2    1         16:00
3    1         16:30
4    2         11:30
5    2         12:00

I exemplet ovan skulle jag vilja plocka ut raderna med id 3 och 5 men vet inte hur jag ska bära mig åt riktigt.

Medlem sedan dec. 20025 483 inlägg
#2

Vad menar du med "värde": id eller time?

Medlem sedan sep. 2005673 inlägg
#3

"Time" menade jag, sorry. Den rad för varje groupid som har den sista tiden ska det vara. Det är datatypen datetime. Sql server 2005

Medlem sedan dec. 20025 483 inlägg
#4

Okej :)

select t.id
     , t.groupid
     , t.time
  from tbl t
 where time
     = ( select max(time)
           from tbl
          where groupid = t.groupid )
Medlem sedan sep. 2005673 inlägg
#5

Tackar, precis så gjorde man! :)

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)