Avatar billede webbygger Nybegynder
01. december 2005 - 17:30 Der er 3 kommentarer og
2 løsninger

Problem med en SQL sætning!

Dette spørgsmål er i forlængdelse fra dette http://www.eksperten.dk/spm/666310.

Jeg har fundet en fejl i script efter jeg har tastede alt data ind i den nye database.....Den side som skal viste de 10 top bedømte billeder-viser 21 billeder nu pga. stemmelighed???

Kan man ikke tvinge den til kun at vis 10 trods det?
Du kan se siden her http://www.lystfiskerens.net/galleri/topbedomte.asp

Og SQL-sætningen som jeg bruger ser sådan ud
    "SELECT TOP 10 tekst.id, tekst.kategori, tekst.hits, tekst.billede, tekst.titel, tekst.indsendt, tekst.bemarkning, Avg(kommen.vote) AS [Gennemsnit Of vote], Count(kommen.vote) AS [Sum Of vote] FROM tekst INNER JOIN kommen ON tekst.id = kommen.pic_id GROUP BY tekst.id, tekst.kategori, tekst.hits, tekst.billede, tekst.titel, tekst.indsendt, tekst.bemarkning, kommen.vote ORDER BY AVG(kommen.vote) DESC, COUNT(kommen.vote) DESC, "
Avatar billede nielle Nybegynder
01. december 2005 - 17:46 #1
Nu er det jo ikke helt klart hvilke poster der skal bortfalde ved stemmelighed, eller hvilke der skal beholdes. En mulig løsning kunne dog være at tilføje yderligt et sorteringskriterie på:

"SELECT TOP 10 tekst.id, tekst.kategori, tekst.hits, tekst.billede, tekst.titel, tekst.indsendt, tekst.bemarkning, Avg(kommen.vote) AS [Gennemsnit Of vote], Count(kommen.vote) AS [Sum Of vote] FROM tekst INNER JOIN kommen ON tekst.id = kommen.pic_id GROUP BY tekst.id, tekst.kategori, tekst.hits, tekst.billede, tekst.titel, tekst.indsendt, tekst.bemarkning, kommen.vote ORDER BY AVG(kommen.vote) DESC, COUNT(kommen.vote) DESC, tekst.id ASC"
Avatar billede eagleeye Praktikant
01. december 2005 - 17:46 #2
Ja det er er fordi den tager 10 forkellige "data-set" og ikke 10 poster. Så prøv at tilføje ID til order by. Enten DESC for de nyeste billeder eller ASC for de ældste billeder:

"SELECT TOP 10 tekst.id, tekst.kategori, tekst.hits, tekst.billede, tekst.titel, tekst.indsendt, tekst.bemarkning, Avg(kommen.vote) AS [Gennemsnit Of vote], Count(kommen.vote) AS [Sum Of vote] FROM tekst INNER JOIN kommen ON tekst.id = kommen.pic_id GROUP BY tekst.id, tekst.kategori, tekst.hits, tekst.billede, tekst.titel, tekst.indsendt, tekst.bemarkning, kommen.vote ORDER BY AVG(kommen.vote) DESC, COUNT(kommen.vote) DESC, tekst.id"
Avatar billede webbygger Nybegynder
01. december 2005 - 17:53 #3
Takker for jeres hurtige og rigtige svar ;o))
Smider I lige et svar begge to!
Avatar billede eagleeye Praktikant
01. december 2005 - 17:54 #4
Jeps her er mit ;)
Avatar billede nielle Nybegynder
01. december 2005 - 17:56 #5
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
Kurser inden for grundlæggende programmering

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