Avatar billede slydawg Nybegynder
27. marts 2003 - 10:29 Der er 9 kommentarer og
1 løsning

Distinct X / Order By Y

Hej allesammen...
Heres the 100 point question... ;)

Hvis jeg skriver

SELECT distinct debattypeid, debatdate from Debat WHERE debattype='news' order by debatdate desc

så får jeg...

debattypeid,debatdate
497,2003-03-27 09:11:09
497,2003-03-26 17:45:24
500,2003-03-25 02:35:30
500,2003-03-24 19:49:05
500,2003-03-24 19:38:15
497,2003-03-05 19:50:53
497,2003-03-05 17:19:34
496,2003-03-04 17:33:36
.....

hvis jeg så prøver samme sql, bare uden debatdate i selecten, så sorterer den anderledes, men viser rent faktisk de resultater jeg vil have...

SELECT distinct debattypeid from Debat WHERE debattype='news' order by debatdate desc

debattypeid
500
497
496
493
491
477
481
478
... osv..

hvordan får jeg den til at sortere som i den første SQL?
Avatar billede human Nybegynder
27. marts 2003 - 10:31 #1
Du gør det bare omvendt? med ASC...
Avatar billede erikjacobsen Ekspert
27. marts 2003 - 10:32 #2
Når du skriver DISTINCT er det jo to forskellige forespørgsler
Avatar billede slydawg Nybegynder
27. marts 2003 - 10:38 #3
Hvis jeg gør det med ASC så får jeg ikke de nyeste indlæg. Det er det jeg gerne vil have.. :(
Avatar billede disky Nybegynder
27. marts 2003 - 10:45 #4
Den nemme løsning, brug din første SQL og brug kun det data du skal nemlig ID
Avatar billede proaccess Nybegynder
27. marts 2003 - 10:53 #5
Du kan måske bruge:

SELECT debattypeid FROM Debat WHERE debattype='news' GROUP BY debattypeid ORDER BY Max(debatdate) DESC;
Avatar billede slydawg Nybegynder
27. marts 2003 - 10:57 #6
Jamen jeg vil jo have et distinct output..
altså:

497
500
496
osv...

Det er bare underligt at hvis jeg bruger den her:

SELECT debattypeid from Debat WHERE debattype='news' order by debatdate DESC

kommer resultaterne ud i rigtig rækkefølge, men bare uden den distinct-ting jeg vil bruge.. Putter jeg så en distinct ind, så bliver sorteringsrækkefølgen anderledes..

SELECT DISTINCT debattypeid from Debat WHERE debattype='news' order by debatdate DESC

:-(
Avatar billede slydawg Nybegynder
27. marts 2003 - 11:03 #7
Proaccess: Den virker ikke... Jeg får en "Invalid use of group function"..
Avatar billede hsg Nybegynder
27. marts 2003 - 11:08 #8
Et forsøg:

SELECT debattypeid, max(debatdate)
FROM Debat
WHERE debattype='news'
GROUP BY debattypeid
ORDER BY 2 DESC
Avatar billede slydawg Nybegynder
27. marts 2003 - 11:28 #9
hsq: Det ser ud til at virke... :) Kom med et svar, så får du pointene ;)
Avatar billede hsg Nybegynder
27. marts 2003 - 11:33 #10
ok....en svar
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