Avatar billede ofirpeter Nybegynder
23. april 2009 - 12:45 Der er 1 kommentar og
1 løsning

Specielt SQL kald

Hej!
Jeg har en database der ser således ud:

id | nyhed | forfattter | dato
------------------------
1 | Nyhed1 | Forfatter1 | 2009-04-04
2 | Nyhed2 | Forfatter1 | 2008-04-04
3 | Nyhed3 | Forfatter1 | 2007-04-04
4 | Nyhed4 | Forfatter1 | 2006-04-04
5 | Nyhed5 | Forfatter2 | 2005-04-04
6 | Nyhed6 | Forfatter3 | 2004-04-04
7 | Nyhed7 | Forfatter3 | 2003-04-04
8 | Nyhed8 | Forfatter4 | 2002-04-04

Jeg vil nu gerne lave et SQL kald der udskriver nyhederne efter dato. Det er nemt gjort ved:

mysql_query("SELECT * FROM nyheder ORDER BY dato")

Dog vil det nu ske at den samme forfatter bliver skrevet ud flere gange i træk. Dette vil jeg gerne undgå, således at der oprettes en "regel" om at den samme forfatter ikke må optræde to gange i træk. I stedet skal der udskrives en anden forfatter og så bagefter kan den "blokerede" forfatters nyhed kommer ud.

Altså vil listen komme til at se således ud:

1 | Nyhed1 | Forfatter1 | 2009-04-04
5 | Nyhed5 | Forfatter2 | 2005-04-04
2 | Nyhed2 | Forfatter1 | 2008-04-04
6 | Nyhed6 | Forfatter3 | 2004-04-04
3 | Nyhed3 | Forfatter1 | 2007-04-04
8 | Nyhed8 | Forfatter4 | 2002-04-04
4 | Nyhed4 | Forfatter1 | 2006-04-04
7 | Nyhed7 | Forfatter3 | 2003-04-04

Håber det er til at forstå! Hvordan kan jeg løse mit mærkværdige problem?
Avatar billede g1mzee Nybegynder
23. april 2009 - 15:00 #1
distinct vil kunne gøre sådan at du ikke får den flere gange, men tror ikke at det kan gøre det sådan som du vil have det.
Men hvorfor vil du også have det til at stå sådan?
Avatar billede ofirpeter Nybegynder
13. januar 2011 - 13:45 #2
Lukker
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

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