Avatar billede nogetfx Nybegynder
16. marts 2005 - 10:51 Der er 5 kommentarer og
2 løsninger

problemer med TOP

Jeg har et sted hvor jeg skal bruge en top5, så derfor har jeg skrevet dette:
        IF StrStep = "all" Then
            SQL = "SELECT * FROM " & StrCat & " ORDER BY ID DESC"
        ElseIf StrStep = "top5" Then
            SQL = "SELECT TOP 5 * FROM " & StrCat & " ORDER BY dato DESC"                           
        End If

Men den udskriver alle posterne! Hvis der står TOP1 Udskriver den 1 post, hvis der står TOP 2 udskriver den 4 poster! Og ved TOP 5 alle 8... Jeg har tømt min cache, har en Response.Expires = 0 i toppen.
Jeg har testet om variablen StrStep bliver opfattet, og det gør  den. Så jeg aner ikke havd der sker...

/Lars
Avatar billede noerdar-dilling Nybegynder
16. marts 2005 - 10:57 #1
Kan du ikke bruge equals istedet for = eller måske ==
Avatar billede erikjacobsen Ekspert
16. marts 2005 - 11:06 #2
Hvis du har flere poster med samme værdi, dato i dit tilfælde, vil den tage flere med.
Tænk på dette eksempel med tal:

10
9
9
9
9
9
8

og en TOP 3. Den skal have 10 med og 2 af 9-erne, men skal de første? Det du'r ikke, da det er "tilfældigt" hvilke der bliver de første i sorteringen.

Så du kan

1) Lav din TOP 3, og vælg selv 3 i din while-løkke
2) Lav order by på mere end dato, så de bliver unikke
Avatar billede nogetfx Nybegynder
16. marts 2005 - 11:11 #3
erikjacobsen> Jeg har et ID-felt der er unikt.Kom med et svar...
Den tanke havde jeg fuldstændig overset..
Avatar billede mortency Nybegynder
16. marts 2005 - 11:11 #4
IF StrStep = "all" Then
  SQL = "SELECT * FROM " & StrCat & " ORDER BY ID DESC"
ElseIf StrStep = "top5" Then
  SQL = "SELECT DISTINCT TOP 5 * FROM " & StrCat & " ORDER BY dato DESC"                           
End If
Avatar billede erikjacobsen Ekspert
16. marts 2005 - 11:12 #5
Fint nok, nogetfx. Men jeg samler slet ikke på point.
Avatar billede nogetfx Nybegynder
16. marts 2005 - 11:18 #6
Ok....

mortency> Du får 5 for dit bud....
Avatar billede nogetfx Nybegynder
16. marts 2005 - 11:19 #7
Glemte at skrive tak for hjælpen...
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