Jeg skal have udskrevet en liste over seneste forum-indlæg... Måden min db er bygget op, er at der til hvert Topic tilhører et unikt TID. Til et topic, hører så en masse posts, som hver har et unikt PID, og et fælles TID.
Hvordan kan jeg få skrevet en liste over f.eks. 10 nyeste indlæg ud, og samtidigt tage højde for, at der kan være mange posts i træk i et indlæg?
Prøvede SELECT DISTINCT TID FROM posts ORDER BY PID DESC
Her får man rigtigt nok Distinct TID-værdier ud, men ikke i korrekt rækkefølge...
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Slettet bruger
19. juni 2006 - 16:49#1
Hvilken rækkefølge vil du gerne have? -Hvis du vil have de 10 senest aktive topics, skulle din forespørgsel kunne gøre arbejdet. -Hvis du derimod vil have de 10 nyest oprettet topics, skal du sortere efter TID.
Når den skal finde de 10 seneste aktiviteter, må det jo være PID den skal sortere efter, hvor den tager de største først...?
Synes godt om
Slettet bruger
20. juni 2006 - 07:38#4
Så er "SELECT DISTINCT TID FROM posts ORDER BY PID DESC" den rigtige løsning.
Du skal jo tænke på at TID kan komme i en vilkarlig rækkefølge, da trådens oprettelsesid ikke direkte har noget at gøre med, hvornår der sidst er skrevet i den.
Ja det var også hhvad jeg troede - men prøvede at sortere i "omvendt" rækkefølge (fjerne DESC), og så virkede det.. Forstår stadig ikke hvorfor, men så længe det virker er det vel fint nok:)
Hmm.. Prøv denne ikke testede forespørgsel - kan forestille mig, at du alligevel vil have fat i [topics] på et tidspunk.
SELECT MAX([posts].[PID]) AS [PID], [topics].[TID] FROM [topics] INNER JOIN [posts] ON ([posts].[TID] = [topics].[TID]) GROUP BY [topics].[TID] ORDER BY MAX([posts].[PID])
/1.
Synes godt om
Ny brugerNybegynder
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.