Avatar billede tzag_dk Nybegynder
09. september 2004 - 11:04 Der er 11 kommentarer og
2 løsninger

order by antal i mysql

Hej

Jeg har et lille problem med denne mysql sætning:

"select DISTINCT billedegallerivisninger.*, count(billedegallerivisninger.billedegalleriID) as antal from billedegalleri join billedegallerivisninger on billedegallerivisninger.billedegalleriID=billedegalleri.galleriID WHERE billedegalleri.godkendt = 1 group by billedegallerivisninger.billedegalleriID order by 'antal' DESC LIMIT 25"

Det er er galt med den er at når den skal sotere efter antal bliver outputet sådan her:
--antal--
--9
--11
--5
--4

Men den skulle gerne liste den sådan her:
--antal--
--11
--9
--5
--4


Håber at der er nogle der kan se hvad problemet er.
På forhåns tak :o)
// Rene
Avatar billede arne_v Ekspert
09. september 2004 - 11:14 #1
Prøv lige at fjern de '' omkring antal
Avatar billede arne_v Ekspert
09. september 2004 - 11:14 #2
Hvis der skal være noget skal det være `` , men de er ikke nødvendige
Avatar billede tzag_dk Nybegynder
09. september 2004 - 11:16 #3
Det hjalp detsværre ikke på det :( heller ikke med `
Avatar billede arne_v Ekspert
09. september 2004 - 11:26 #4
Det bør enten sortere korrekt eller give en fejl.

order by antal

eller

order by count(billedegallerivisninger.billedegalleriID)

skal virke
Avatar billede tzag_dk Nybegynder
09. september 2004 - 11:28 #5
Hvis jeg sætter den sidste ind, får jeg denne fejl:

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]Der er en fejl i SQL syntaksen nær 'order by count(billedegallerivisninger.billedegalleriID) DESC LI' på linje 1

Syntes bare at det er underligt at det ikke virker!
Avatar billede arne_v Ekspert
09. september 2004 - 11:30 #6
Og du siger at

order by antal

stadig giver

--antal--
--9
--11
--5
--4

?
Avatar billede tzag_dk Nybegynder
09. september 2004 - 11:31 #7
ja, det er netop hvad den gør.

Tabellen er af tyben "text"
Avatar billede eagleeye Praktikant
09. september 2004 - 11:44 #8
Ja det kunne ligne text sortering, men umiddelbart skulle 11 så være nederst. Men det det lidt undeligt hvorfor count skulle give antalet som tekst.

Men du kan da prøv:  order by CAST(antal as UNSIGNED) desc
Avatar billede tzag_dk Nybegynder
09. september 2004 - 11:49 #9
Det har jeg så lige prøvet...
Nu lister den dem sådan her:
--antal--
--4
--9
--11
--5

Underligt....!
Avatar billede tzag_dk Nybegynder
10. september 2004 - 21:45 #10
Hej igen... Det var min egen fejl. Der var ikke noget galt med sql sætningen. Jeg udskrev det bare forkert.

Det må I undskylde. Men lig et svar alle sammen :o)
Og tak for hjælpen.
Avatar billede arne_v Ekspert
10. september 2004 - 21:48 #11
ok
Avatar billede eagleeye Praktikant
10. september 2004 - 21:49 #12
ok ;)
Avatar billede tzag_dk Nybegynder
10. september 2004 - 21:50 #13
Forsat god aften ;o)
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