27. januar 2007 - 12:43
Der er
18 kommentarer og 2 løsninger
Hvilken tal er der flest af i MySql databasen
Hej Exp Hvis jeg har en tabel som ser sådan her ud 10 58 64 10 545 64 10 Hvordan finder jeg så ud af hvilken tal som gantager sig flest gange i en php kode i dette tilfælde skal det give 10 fordi den står flest gange på listen
Annonceindlæg fra Lenovo
27. januar 2007 - 12:49
#1
select talfelt from dintabel group by talfelt order by count(*) desc limit 0,1
27. januar 2007 - 14:56
#2
Jeg kan ikke få den til at virke ;-) kan du se hvad jeg gør forkert ? <? include("sql.php"); $vistal = select ar from users by ar order by count(*) desc limit 0,1 ?> <?=$vistal[ar]?>
27. januar 2007 - 14:57
#3
Ja, du mangler at udføre sql-sætningen.
27. januar 2007 - 15:19
#4
He he ja det er rigtig men der er stadig problemmer :S <? include("sql.php"); $vistal = mysql_query("select ar from users by ar order by count(*) desc limit 0,1"); ?> <?=$vistal[ar]?>
27. januar 2007 - 15:52
#5
Ja, du skal jo nok have en række før du kan få et felt.
27. januar 2007 - 16:53
#6
Jeg har da en række som heder ar i databasen :S
27. januar 2007 - 19:09
#7
Du mangler rækken i PHP. Du skal gøre som du altid kal gøre, når du skal have data ud fra mysql. Kig fx på eksemplerne på
http://dk2.php.net/mysql_fetch_array
28. januar 2007 - 08:13
#8
<?php include('sql.php'); $sql = mysql_query(" SELECT ar FROM users GROUP BY COUNT(ar) ORDER BY COUNT(ar) LIMIT 0,1 "); echo mysql_result($sql, 0); mysql_free_result($sql); ?> eller hvis du hellere ville have gennnemsnitsalderen, hvad der sikkert er det du er ude efter, kan du lave ala <?php include('sql.php'); $sql = mysql_query(" SELECT AVG(ar) FROM users "); echo number_format(mysql_result($sql, 0), 1); mysql_free_result($sql); ?>
28. januar 2007 - 09:08
#9
Hej Lars ;)
28. januar 2007 - 09:09
#10
Hej Erik, Er syg, så er lidt på Eksperten fra den bærbare ... :) et sjældent gæstevisit
28. januar 2007 - 09:14
#11
Fair nok. Kan du sende en email til mig på den hotmail-adresse, der står på mit minisite. Det er én ting jeg skal fortælle dig, som ikke vedrører dette forum... (Jeg er tilbage om en times tid)
28. januar 2007 - 15:03
#12
Hej ljwebcom Jeg kan godt få denne til at virke <?php include('sql.php'); $sql = mysql_query(" SELECT AVG(ar) FROM users "); echo number_format(mysql_result($sql, 0), 1); mysql_free_result($sql); ?> men det var nu det tal som kom flest gange jeg vil have <?php include('sql.php'); $sql = mysql_query(" SELECT ar FROM users GROUP BY COUNT(ar) ORDER BY COUNT(ar) LIMIT 0,1 "); echo mysql_result($sql, 0); mysql_free_result($sql); ?> og ved denne kode melder den fejl ved line 11 og 12 eller echo mysql_result($sql, 0); mysql_free_result($sql); ved ikke hvorfor :S
28. januar 2007 - 15:06
#13
hvad er fejlen den melder ?
28. januar 2007 - 15:10
#14
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /httpdocs/vis.php on line 11 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /httpdocs/vis.php on line 12
28. januar 2007 - 15:17
#15
mystisk, prøv at udskifte $sql = mysql_query(" SELECT ar FROM users GROUP BY COUNT(ar) ORDER BY COUNT(ar) LIMIT 0,1 "); med $sql = mysql_query(" SELECT ar, COUNT(ar) AS x FROM users GROUP BY x ORDER BY x DESC LIMIT 0,1 "); og hvis det ikke virker, hvilken version af mysql bruger du ?
28. januar 2007 - 15:31
#16
Virker heller ikke :S jeg bruger mysql 5.0 og Datatype er int(3) Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /httpdocs/vis.php on line 11 Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in /httpdocs/vis.php on line 12
28. januar 2007 - 15:33
#17
prøvede koden af direkte i min sql viewer på min egen mysql5 og den kørte rent igennem - du omskriver ikke koden ? kan du køre den fx i phpmyadmin ?
28. januar 2007 - 15:45
#18
hvis jeg køre den i phpmyadmin laver den denne fejl __________________________________________________________________ Fejl SQL-forespørgsel: SELECT ar FROM users GROUP BY COUNT( ar ) ORDER BY COUNT( ar ) LIMIT 0 , 1 MySQL returnerede: #1111 - Invalid use of group function __________________________________________________________________ Fejl SQL-forespørgsel: SELECT ar, COUNT( ar ) AS x FROM users GROUP BY x ORDER BY x DESC LIMIT 0 , 1 MySQL returnerede: #1056 - Can't group on 'x'
28. januar 2007 - 16:10
#19
Sorry, det er jo mig der ikke kan se skoven for bare træer SELECT ar FROM users GROUP BY ar ORDER BY COUNT(ar) DESC LIMIT 0,1
28. januar 2007 - 16:32
#20
Tak du virker det :D
Vi tilbyder markedets bedste kurser inden for webudvikling