wazidMedlem sedan maj 2001156 inlägg Hej
Jag har letat på forumet för att finna en lösning på mitt (troligen) enkla problem.
Har fått en del tips, men har inte lyckats lösa det ändå...
Jag har alltså en tabell (Forum) som jag vill sortera ut de tio mest läsa trådarna ur.
SELECT top 10 Forum.Thread_id, Forum.Amne, Forum.Last
FROM Forum
WHERE Forum.Status=20
ORDER BY Forum.Last DESC;
Nu får jag med dubletter med avseende fältet Thread_id.
Det vill jag inte.
Om två poster har samma Thread_id så vill jag bara få en träff.
Databasen är Access 97.
Var inne på Distinct, men tror att det var ett sidospår...
MvH
David
LarsGMedlem sedan dec. 200012 464 inlägg Beskriv tabellen forum med avseende på kolumner och innehåll.
Flyttas från ASP.
wazidMedlem sedan maj 2001156 inlägg Thread_id är Tal (referens till första inlägget i tråden, det kan således vara flera poster med samma Thread_id)
Amne är Text (Rubriken på tråden)
Last är ett tal (Innehåller antalet gånger som inlägget lästs)
Status är ett tal (Håller koll på vilka inlägg som är censurerade)
Forumet finns på http://come.to/carcare
SebbeMedlem sedan jan. 20032 285 inlägg SELECT top 10 Forum.Thread_id, Forum.Amne, Forum.Last
FROM Forum
WHERE Forum.Status=20
GROUP BY Forum.Thread_id
ORDER BY Forum.Last DESC;
Kanske?
wazidMedlem sedan maj 2001156 inlägg Hmm - får följande felmeddelande i Access när jag kör Sebbes förslag.
"You tried to execute a query that doesn't include the specified expression 'Amne' as part of an aggregate function."
Lägg med Amne i group by-klausulen så funkar det nog.
Så här alltså:
SELECT top 10 Forum.Thread_id, Forum.Amne, Forum.Last
FROM Forum
WHERE Forum.Status=20
GROUP BY Forum.Thread_id, Forum.Amne
ORDER BY Forum.Last DESC;
LarsGMedlem sedan dec. 200012 464 inlägg select top10 * from forum f
where last in (select max(last)
from forum where threadid = f.threadid)
order by last desc