Problem mit eritteln von höchsten Wert aus DB
DiamondDog
- php
0 DiamondDog0 MudGuard
0 MudGuard
Hallo Leute,
ich hab ein kleines Problem und zwar würde ich gerne aus meiner Spalte (votes_good) in meiner DB Tabelle die größte Zahl ermitteln, ich hab es so versucht:
$result = mysql_query("SELECT MAX(votes_good) FROM ".$db_tabell1);
while($row = mysql_fetch_array($result)){
echo $row['title']."<br>";
echo $row['id'];
}
Das Problem dabei ist das mir nichts ausgegeben wird, und ich nicht ganz verstehe wieso nicht, der DB login usw sind ok. Dann hätte ich noch eine Frage und zwar was passiert wenn 2 Werte gleich groß sind?
Danke schon mal.
Mfg Dog
Edit:
Habs etwas anders gelöst, aber so funktionierts dann:
$result = mysql_query("SELECT * FROM ".$db_tabell1." ORDER BY votes_good DESC LIMIT 0, 1");
while($row = mysql_fetch_array($result)){
echo $row['title']."<br>";
echo $row['id'];
}
Danke trozdem an alle die Helfen wollten.
Hi,
Habs etwas anders gelöst, aber so funktionierts dann:
$result = mysql_query("SELECT * FROM ".$db_tabell1." ORDER BY votes_good DESC LIMIT 0, 1");
Das ist aber etwas vollkommen anderes - hier bekommst Du einen der Datensätze, bei denen votes_good den maximalen Wert hat.
Welchen davon Du bekommst, ist Zufall, da kein weiteres Sortierkriterium angegeben ist.
Du kannst aus dem Ergebnis nicht mal erkennen, ob es weitere passende Datensätze gibt.
Vielleicht wäre es ja besser, per subselect alle Datensätze mit dem höchsten Wert zu selectieren:
SELECT id,title FROM tabelle WHERE votes_good = (SELECT MAX(votes_good) FROM tabelle)
Dann bekommst Du alle Datensätze mit dem maximalen votes_good.
cu,
Andreas
Hi,
$result = mysql_query("SELECT MAX(votes_good) FROM ".$db_tabell1);
Dein Ergebnis enthält genau eine Spalte MAX(votes_good).
while($row = mysql_fetch_array($result)){
echo $row['title']."<br>";
echo $row['id'];
Eine Spalte namens title oder id sind im Ergebnis nicht enthalten, wieso erwartest Du also eine Ausgabe?
Das Problem dabei ist das mir nichts ausgegeben wird, und ich nicht ganz verstehe wieso nicht, der DB login usw sind ok. Dann hätte ich noch eine Frage und zwar was passiert wenn 2 Werte gleich groß sind?
Da nur der höchste Wert ausgegeben werden soll, ist es doch vollkommen egal, wie oft der höchste Wert vorkommt.
Er wird genau einmal ausgegeben.
cu,
Andreas