Avatar billede ronja7 Nybegynder
06. oktober 2005 - 20:59 Der er 2 kommentarer

Kvaler med en distinct select

Jeg har en tabel der består af kommentarer til artikler:

CREATE TABLE `Comments` (
  `Id` int(6) unsigned NOT NULL auto_increment,
  `Brugernavn` varchar(100) default NULL,
  `BrugerID` int(4) default NULL,
  `Overskrift` varchar(100) default NULL,
  `content` text,
  `IP` varchar(24) default NULL,
  `ISP` varchar(50) default NULL,
  `context` tinyint(4) default NULL,
  `storyID` int(4) default NULL,
  `datetime` datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (`Id`)
) TYPE=MyISAM;

Vi har en lille boks der viser de fem seneste kommentarer overall på sitet, men vi kunne godt tænke os at sortere lidt kraftigere i det, så det samme storyid/context kun indgik i listen een gang. Det er også muligt med en distinct, men problemet er at jeg får de første rækker der findes. Dvs. den første kommentar til en given artikel - Det skal være den sidste kommentar.

Dette giver næsten det ønskede, blot den første i stedet for den sidste komemntar:
<tt>Select distinct storyID, context, id, Brugernavn, overskrift, datetime from Comments GROUP by storyID, context order by datetime desc LIMIT 0,5</tt>

Nogle gode idéer?
Avatar billede ronja7 Nybegynder
06. oktober 2005 - 23:05 #1
Jeg er villig til at tredobble points for en løsning....
Avatar billede -pete Nybegynder
13. oktober 2005 - 06:37 #2
SELECT DISTINCT Comments.storyID, MAX(Latest.datetime) LatestDate, Comments.datetime CommentTime, Comments.context, Comments.Brugernavn, Comments.overskrift
FROM Comments Comments
LEFT JOIN Comments Latest ON (Comments.storyID = Latest.storyID)
GROUP BY Comments.datetime
HAVING CommentTime = LatestDate
ORDER BY Comments.datetime DESC, LatestDate DESC
LIMIT 0,5;
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