Avatar billede alrua Nybegynder
26. februar 2003 - 21:55 Der er 5 kommentarer og
1 løsning

Group by

Er der nogen måde jeg kan vælge at det altid er det nyeste indlæg for hver topic_id som bliver vist i dette her sql-query?

SELECT * FROM forum_posts WHERE poster_id <> '2' AND forum_id = '1' GROUP BY topic_id ORDER BY post_time DESC
Avatar billede mfalck Praktikant
27. februar 2003 - 08:40 #1
et gæt ville være select * from forum_posts where post_time = MAX (post_time) AND  bla bla

Dog uden at kende til database strukturen i øvrigt.
Avatar billede alrua Nybegynder
27. februar 2003 - 17:05 #2
men det skal jo være den højeste for hver topic_id... altså at der bliver valgt et felt hvor hver topic id men af de felter der bliver valgt er det det nyeste (højeste post_time)...ved dit forslag får man vel kun det nyeste i alt?
Avatar billede mfalck Praktikant
28. februar 2003 - 00:06 #3
hov jeg så lige at der var en group by blandet ind - du kan kun bruge group by når du laver en eller anden form for sammentælling af data. Måske vil

select max(post_time), topic_id
FROM forum_posts
WHERE poster_id <> '2'
AND forum_id = '1'
GROUP BY topic_id

give det rigtige resultat.
Avatar billede alrua Nybegynder
28. februar 2003 - 07:02 #4
jeps, det virker, takker :)
smid et svar hvis du vil have point :)
Avatar billede mfalck Praktikant
28. februar 2003 - 08:40 #5
ok .. det var jo godt nok (især taget i betragning at jeg skrev koden efter et par pils :-) )
Avatar billede alrua Nybegynder
28. februar 2003 - 15:24 #6
hehe - jeg fik faktisk det samme svar et andet sted nogenlunde samtidig :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester