07. august 2002 - 15:47
Der er
9 kommentarer og
1 løsning
Rækkefølge med GROUP BY og ORDER BY
Jeg har et problem, som er ved at rykke hårene ud på mig. Skal prøve på at beskrive det så grundigt som muligt:
Jeg har en tabel, som ser ud som følgende:
+--------+----+---------+-------+
| thread | id | forumid | title |
+--------+----+---------+-------+
| 3 | 6 | 10 | C2 |
| 3 | 5 | 10 | C1 |
| 2 | 3 | 10 | B1 |
| 2 | 4 | 10 | B2 |
+--------+----+---------+-------+
(udskrevet vha. "SELECT * FROM forum")
Jeg vil nu gerne have fat i række 2 og 3 (som har de mindste ID numre i henhold til THREAD).
Til dette har jeg prøvet at bruge sætningen
"SELECT * FROM forum WHERE forumid=10 GROUP BY thread ORDER BY id"
Men ved denne sætning får jeg række 1 og 3 i stedet for 2 og 3.
(Mit gæt er, at GROUP BY samler alle rækker med éns "thread" før ORDER BY køres, og da række 1 ligger over række 2, vil række 1 være den eneste række som "ORDER BY" sorterer efter.)
Er der nogle, som har en anden måde at komme rundt ved dette problem?
07. august 2002 - 15:51
#1
måske
"SELECT * FROM forum WHERE forumid=10 ORDER BY id desc GROUP BY thread"
???
07. august 2002 - 15:53
#2
Jeg har prøvet, men det viser sig, at GROUP BY skal være før ORDER BY
07. august 2002 - 15:54
#3
SELECT * FROM forum WHERE forumid=10 ORDER BY thread,id DESC
//>Rune
07. august 2002 - 15:58
#4
Jeg skal stadig kun have 2 af de 4 rækker..
"SELECT * FROM forum WHERE forumid=10 ORDER BY thread,id DESC"
vil give mig alle 4 rækker.
07. august 2002 - 16:01
#5
"SELECT thread,id FROM forum WHERE forumid=10 ORDER BY thread,id DESC"
er det da sådan du vil ha' det?
//>Rune
07. august 2002 - 16:07
#6
Hvis man samler alle rækkerne i grupper (så alle i gruppen har samme "thread"), så vil jeg have fat i dén række som har det mindste id-nummer i hver enkelt af grupperne.
07. august 2002 - 17:51
#7
select min(id)
from forum
group by id
07. august 2002 - 17:55
#8
'group by Thread' selvfølgelig
select min(id)
from forum
group by Thread
07. august 2002 - 18:55
#9
Kanon, tak skal du have!
07. august 2002 - 21:52
#10
velbekomme
Computerworld tilbyder specialiserede kurser i database-management