Avatar billede netrotten88 Nybegynder
28. februar 2007 - 17:25 Der er 16 kommentarer og
1 løsning

Problemmer med en MySQL kode

Hej Exp

Jeg har nu i et stykke tid på min hjemmeside brugt denne kode unde problemmer

$sql = mysql_query("SELECT ar FROM users GROUP BY ar ORDER BY COUNT(ar) DESC LIMIT 0,1");


Men efter jeg har skrifte udbyder til one.com virker kode ikke længer :S

er der nogen som ved hvordan jeg kan få den til at virke igen ??
Avatar billede masik7 Nybegynder
28. februar 2007 - 17:40 #1
Får du nogle mysql-fejl?
Avatar billede netrotten88 Nybegynder
28. februar 2007 - 18:01 #2
Ja hvis jeg køre den i phpMyAdmin får jeg denne fejl


Fejl
SQL-forespørgsel: 

SELECT rum
FROM users
GROUP BY rum
ORDER BY COUNT( rum ) DESC
LIMIT 0 , 1

MySQL returnerede: 

#1111 - Invalid use of group function
Avatar billede netrotten88 Nybegynder
28. februar 2007 - 18:02 #3
*har ænderet "ar" til "rum"
Avatar billede netrotten88 Nybegynder
28. februar 2007 - 18:03 #4
og i php får jeg denne fejl

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /kode.php on line 4
Avatar billede jakobdo Ekspert
28. februar 2007 - 19:07 #5
Prøv følgende:

SELECT rum
FROM users
GROUP BY rum, COUNT(rum)
LIMIT 0 , 1
Avatar billede netrotten88 Nybegynder
28. februar 2007 - 21:41 #6
Den melder stadig fejl :S

Fejl
SQL-forespørgsel: 

SELECT rum
FROM users
GROUP BY rum, COUNT( rum )
LIMIT 0 , 1

MySQL returnerede: 

#1111 - Invalid use of group function
Avatar billede jakobdo Ekspert
28. februar 2007 - 22:04 #7
Hvad er det du helt præcis vil opnå med din SQL?
Avatar billede netrotten88 Nybegynder
28. februar 2007 - 22:31 #8
Det jeg vil opnå er

hvis jeg har en række tal i databasen fx
11
10
5
8
20
10

Så skal den gå ind og se hvilken tal som står der flest gange i dette tilfælde er der tallet 10
Avatar billede jakobdo Ekspert
01. marts 2007 - 07:45 #9
Det bør du kunne lave sådan her:

SELECT COUNT(rum) AS antal
FROM users
ORDER BY antal DESC
Avatar billede netrotten88 Nybegynder
01. marts 2007 - 12:20 #10
Ja den virker men det er ikke det jeg vil have den til

din kode tæller bare antal rækker

Det jeg vil have den til er at finde ud af hvilken tal som kommer flest gange
Avatar billede jakobdo Ekspert
01. marts 2007 - 12:45 #11
Hvad så med:

SELECT rum, SUM(rum) AS antal
FROM users
GROUP BY rum
Avatar billede netrotten88 Nybegynder
01. marts 2007 - 13:43 #12
ja nu er den ved at være der

Jeg mangler nu kun hvordan jeg kun for den til at vise det "rum" med den største sum ???
Avatar billede netrotten88 Nybegynder
01. marts 2007 - 13:49 #13
eller nej for hvis du ligger summen sammen før du ikke det rigte svar da den gange rum tallet men antal rækker :( øv

jeg skal have den til at skrive det tal som optræder flest gange
Avatar billede jakobdo Ekspert
01. marts 2007 - 13:58 #14
Du skal bruge denne løsning:
SELECT rum,COUNT(rum) AS antal FROM users GROUP BY rum ORDER BY antal DESC LIMIT 1
Avatar billede netrotten88 Nybegynder
03. marts 2007 - 17:13 #15
Undskyld jeg først svare nu

det ser ud til at virke smid et svar ;-)
Avatar billede jakobdo Ekspert
03. marts 2007 - 17:17 #16
Svar!
Avatar billede jakobdo Ekspert
03. marts 2007 - 17:46 #17
Takker for point.
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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