webForumDet fria alternativet
Logga in / Bli medlem

SQL-urval

Databaser & SQL

4 svar · 491 visningar · startad av Hyzac

Medlem sedan mars 200475 inlägg
Trådstart#1

Jag har ett problem som säkert är rätt enkelt men just nu reder jag inte ut det. Jag har en tabell med tre värden ett id, en integer och en sträng. Id't och strängen förekommer bara en gång men integern kan vara samma för flera. Nu vill jag välja ut bara en post ur varje unik integer baserat på ett datum som finns med i tabellen.

Exempel på strukturen.
id int str
23 3 jhjh
24 4 klökl
25 4 jkjlkjlkj

resultat av sql:
23 3 jhjh
25 4 jkjlkjlkj

Som sagt, det är säkert enkelt men jag får inte till det. Hjälp.

Medlem sedan dec. 200012 464 inlägg
#2

Vad styr vilken av posterna du väljer, dvs vilket datumvärde? Äldsta, nyaste?

Medlem sedan mars 200475 inlägg
#3

den ska ta det nyaste av dessa värden.

Medlem sedan dec. 200012 464 inlägg
#4
select <kolumner>
 from <dinTabell> as t1
 where <datumKolumn> in
  (select max(<datumKolumn>)
     from <dinTabell> as t2
    where t1.<intKolumn> = t2.<intKolumn>)
Medlem sedan mars 200475 inlägg
#5

funkade perfekt, tack ska du ha

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