Avatar billede znopie Nybegynder
22. juni 2008 - 01:09 Der er 11 kommentarer

Problemer med sotering og gruppering

Hej Eksperter,

Jeg er lige begyndt på ASP, og har et problem ved at hente info fra min database. Jeg vil gerne den grupper efter søgeord, soter efter tid (DESC) og limit 1. Men det kan jeg desværre ikke uden den kommer med en fejl.

Denne kode giver ingen fejl, men hvis tiden er forskellig i 2 rækker så grupper den ikke efter søgeord, men viser bare begge rækker.

Set multi_search = conn.Execute("SELECT sog, COUNT(sog) AS score, tid FROM soeg GROUP BY sog, tid ORDER BY tid DESC")

Nogen der kan hjælpe? :)
Avatar billede w13 Novice
22. juni 2008 - 01:31 #1
Skal GROUP BY så ikke bare være sog, dvs. uden tid?
Avatar billede znopie Nybegynder
22. juni 2008 - 09:01 #2
Nej, det kan jeg desværre ikke:

http://www.sqlcommands.net/sql+group+by/

"DK-GOOGLE-TRANSLATE = Denne SQL-Gruppen af redegørelsen er forkert, fordi Dato kolonne præsenteres i SQL SELECT-liste, men er ikke i gruppen af klausulen. Den korrekte SQL-Gruppen af redegørelsen skal se sådan ud (SE LINK)
Avatar billede soerenlyn Nybegynder
22. juni 2008 - 11:13 #3
Hvad er det præcist du vil have? Du siger grupper efter søgeord og sorter efter tid og så limit 1. Men hvis du prøver at beskrive det, hvad ønsker du så?
Avatar billede znopie Nybegynder
22. juni 2008 - 11:23 #4
Jamen vil gerne have min forespørgsel til at gøre dette når jeg henter data fra min .mdb database.

Altså forespørgslen skal se nogen lunde sådan her ud
Set multi_search = conn.Execute("SELECT sog, COUNT(sog) AS score, tid FROM soeg GROUP BY sog ORDER BY tid DESC LIMIT 1")

Men den forespørgsel fungere ikke.
Avatar billede soerenlyn Nybegynder
22. juni 2008 - 11:37 #5
Nej okay. Men det er jo svært at gætte hvad du ønsker at hente ud på baggrund af en kode der ikke virker :) Og før jeg kan lave en sql-statement der virker, så skal jeg vide præcist hvad du ønsker at hente ..
Avatar billede znopie Nybegynder
22. juni 2008 - 13:42 #6
ønsker at hente:
Database    =    Hvad er det?
-------------------------------------
sog        =    Søgeord
tid        =    Tiden for søgningen

Det er de eneste værdier der skal hentes. sog skal så tælles, så jeg kan se hvor mange der er af det forskellige søgninger.
F.eks. 5 har søgt Hej
Avatar billede soerenlyn Nybegynder
22. juni 2008 - 13:58 #7
Hvordan ser din database-tabel ud? Gemmes der en række når man søger efter noget? Du formulerer stadigt ikke hvad du vil ha'. Fx: "Hent det søgeord som er blevet søgt flest gange". Dét kunne være noget man kunne finde .. det at sige at du vil finde sog og tid kan man jo ikke bruge.
Avatar billede znopie Nybegynder
22. juni 2008 - 15:25 #8
Min database kan du se her (Jeg har ændret lidt i paint pga. oplysninger der ikke skal ligge fremme) :
http://img516.imageshack.us/my.php?image=mdbfu1.jpg - Databasen
http://img410.imageshack.us/my.php?image=mdbproblemjq6.jpg - Hjemmesiden (Se problem på tiden)
Avatar billede solle Nybegynder
23. juni 2008 - 11:36 #9
nu bruger du MySQL, ik sandt?
(tænker på "LIMIT 1")
Avatar billede znopie Nybegynder
23. juni 2008 - 15:20 #10
bruger .mdb, og har læst mig det det kun er SQL

Kan nemlig ikke få asp til at connecte til en ekstern MySQL server (altså ikke en localhost server)
Avatar billede pidgeot Nybegynder
23. juni 2008 - 15:23 #11
MDB er Access, og den har ikke LIMIT (den bruger i stedet SELECT TOP X, ligesom MSSQL - men MySQL kan ikke finde ud af TOP).

For MySQL-servere er det vigtigt at der er opsat en bruger for den kombination af brugernavn og klientadresse - man skal eksplicit oprette brugere til formålet hvis man vil kunne connecte udefra, da hostname er en del af login'et.
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