Avatar billede Slettet bruger
27. juli 2007 - 02:22 Der er 10 kommentarer og
3 løsninger

Do until løkke

Hej

Jeg skal lave en lykke der tager de 5 recoder hvor count er højest

men man plejer jo at bruge Do until rs.EOF. Hvordan gør jeg så den kun tager 5 med ?

Hilsem Michael
Avatar billede jansangill Nybegynder
27. juli 2007 - 06:58 #1
Du laver en SQL der kun tager top 5 med

SQL = "select top 5 count(din_række) as topfem, din_række from din_tabel order by topfem desc"
Avatar billede kalp Novice
27. juli 2007 - 08:42 #2
tror det skal være


select top 5 kolonne1, kolonne2, kolonne3, count(*) as total from dinTabel group by kolonne1, kolonne2, kolonne3 order by total desc


"kolonne1, kolonne2, kolonne3" er blot navne på de kolonner du skal have med i udskrif
Avatar billede Slettet bruger
27. juli 2007 - 10:23 #3
hmm jeg er ikke helt med hvor hvordan jeg skal få det til at virke. Min tabel hedder "nyheder" og fra tabellen skal jeg kun have vist "link" og "headline", kan ikke prøve at opstille det efter det ?
Avatar billede jansangill Nybegynder
27. juli 2007 - 10:34 #4
"select top 5 headline, links, count(*) as total from nyheder group by headline, link order by id desc"
Avatar billede Slettet bruger
27. juli 2007 - 10:44 #5
Jeg får en fejl, min tæller hedder counter, er det den der hedder count(*) ? i såfald har jeg ændret den til counter(*), fejlen jeg får er:

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

[MySQL][ODBC 3.51 Driver][mysqld-4.0.26]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '5 headline, link, counter(*) as total from nyheder group by he
Avatar billede jansangill Nybegynder
27. juli 2007 - 11:00 #6
count er lisom select eller order by. Tror ikke du skal skrive counter der. Count tæller jo top 5, så skriver du den ud med alias.

Altså response.write "alias", i dette tilfælde, response.write total
Avatar billede kalp Novice
27. juli 2007 - 13:26 #7
select top 5 headline, link, counter from nyheder order by counter desc

og ellers er det

select top 5 headline, link, counter from nyheder order by counter asc
Avatar billede Slettet bruger
27. juli 2007 - 16:23 #8
Samme fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.26]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '5 headline, link, counter from nyheder order by counter asc' at


Min kode:

strSQL2 = "select top 5 headline, link, counter from nyheder order by counter asc"
set rss = objConn.execute(strSQL2)   


Laver jeg nogen fejl ?
Avatar billede Slettet bruger
27. juli 2007 - 16:57 #9
Det er fordi du har en mysql database..

I mysql bruger LIMIT i stedet for TOP.

strSQL2 = "select headline, link, counter from nyheder order by counter asc LIMIT 5"
set rss = objConn.execute(strSQL2)
Avatar billede Slettet bruger
27. juli 2007 - 17:38 #10
Ja det virkede.
kvadratrodenaf1 smider du ikke et svar ?
jansangill smider du også et svar ?

Så kan i tre dele selvom det nu ikke er så meget :)
Avatar billede jansangill Nybegynder
27. juli 2007 - 19:09 #11
hehe jo da, her er et svar:)
Avatar billede Slettet bruger
28. juli 2007 - 15:44 #12
Og et svar herfra.
Vi ses på næste semester.

Vh Mathias.
Avatar billede Slettet bruger
29. juli 2007 - 15:25 #13
hehe hej Mathias :)
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