webForumDet fria alternativet
Logga in / Bli medlem

Problem med DISTINCT

Databaser & SQL

2 svar · 218 visningar · startad av Pudolf

Medlem sedan juli 2000221 inlägg
Trådstart#1

Hej jag har ett problem med en SQL-kod. Jag har en tabell som ser ut ung. såhär: (stiligt va? ;))

--id-------pid--------bild-----------datum----
  10        1         [red]nr22[/red]        2003-01-09
  9         1         nr21        2003-01-09
  8         1         nr20        2003-01-09
  7         4         [red]nr77[/red]        2003-01-07
  6         4         nr78        2003-01-07
  5         4         nr79        2003-01-07
  4         3         [red]nr09[/red]        2003-01-05
  3         6         [red]nr113[/red]       2003-01-03
  2         6         nr114       2003-01-03
  1         1         [red]nr55[/red]        2003-01-01

Jag vill då ta fram 1 bild (den senaste) varje gång det blir ett nytt pid (alltså inte fler bilder från samma pid efter varandra!), det där lät knepigt så jag markerar med rött vilka bilder som isånafall skulle tas ut!

Jag testade med den här koden:

$sql = "SELECT DISTINCT pid, id, bild, datum FROM mina_bilder ORDER BY id DESC LIMIT 10";

Men då visas bara de 10 senaste rakt av (id 10 ner till 1 alltså). Är det inte så man ska använda DISTINCT eller? :)

Medlem sedan dec. 200012 464 inlägg
#2

Nej distinct är inte rätt väg. Detta kräver subselect och därmed 4.1 av Mysql. Eftersom den inte är stabil så ...

http://www.mysql.com/doc/en/example-Maximum-column-group-row.html

Medlem sedan juli 2000221 inlägg
#3

Åh.. vilken otur! :)

Då får jag hitta på något nytt, tack för det snabba svaret :)

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