Der folgende Beitrag wurde am 13. 07. 2004, 09:38 Uhr von Mark veröffentlicht.
Hallo Ihrs,
Ich vesuche es mal auf den Punkt zu bringen...
-----------
| spalte |
-----------
| 1 |
-----------
| 2 |
-----------
| 1 |
-----------
| 3 |
-----------
| 2 |
-----------
| 1 |
-----------
Die 1 kommt also dreimal, die 2 zweimal und die 3 kommt einmal vor.
Wie komme ich mit "einer" Abfrage an die Anzahl der Treffer? Als Wert kommen immer nur 1,2 oder 3 in Frage.
Gruss und danke, Mark
Der folgende Beitrag wurde am 13. 07. 2004, 09:51 Uhr von Frank (no reg) veröffentlicht.
Hi
SELECT spalte, Count(spalte) Treffer
FROM tabelle
GROUPY BY spalte
-> du solltest dich in Zukunft doch mal mit dem Thema Aggregats- und Gruppierungsfunktionen unter ANSI SQL '92 auseinandersetzen. Dazu gibt es reichlich Bücher.
Viele Grüße,
Frank
Der folgende Beitrag wurde am 13. 07. 2004, 11:10 Uhr von Mark veröffentlicht.
> SELECT spalte, Count(spalte) Treffer
> FROM tabelle
> GROUPY BY spalte
Hallo Frank,
danke erstmal!
der GROUPY war gut, damit muss man erst einmal rechnen *g*
So weit war ich schon, die Abfrage liefert mir aber nur die Anzahl derer mit dem Wert 1, nicht jedoch die mit 2 und 3
Gruss, Mark
Der folgende Beitrag wurde am 13. 07. 2004, 11:32 Uhr von Thomas Meinike veröffentlicht.
Hallo,
> So weit war ich schon, die Abfrage liefert mir aber nur die Anzahl derer mit dem Wert 1, nicht jedoch die mit 2 und 3
Mit den genannten Daten sollte diese Abfrage
mysql> SELECT feld,COUNT(feld) FROM tabelle GROUP BY feld;
zu diesem Ergebnis
+------+-------------+
| feld | COUNT(feld) |
+------+-------------+
| 1 | 3 |
| 2 | 2 |
| 3 | 1 |
+------+-------------+
fuehren.
MfG, Thomas
Der folgende Beitrag wurde am 13. 07. 2004, 12:41 Uhr von Mark veröffentlicht.
Hallo,
$mysql="SELECT feld,COUNT(feld) Treffer FROM tabelle GROUP BY feld";
$result=mysql_query($mysql, $con);
$ergebnis=mysql_fetch_array($result)
foreach($ergebnis as $key => $value)
{
echo $key . ":" . $value;
}
dann bekomme ich nur:
0:1
feld:1
1:129
Treffer:129
Da fehlen mir also noch die Ergebnisse von 2 und 3.
Gruss
Der folgende Beitrag wurde am 13. 07. 2004, 14:16 Uhr von Thomas Meinike veröffentlicht.
Hallo,
> $result=mysql_query($mysql, $con);
> $ergebnis=mysql_fetch_array($result)
>
> foreach($ergebnis as $key => $value)
> {
> echo $key . ":" . $value;
> }
>
> dann bekomme ich nur:
>
> 0:1
> feld:1
> 1:129
> Treffer:129
>
> Da fehlen mir also noch die Ergebnisse von 2 und 3.
Du fragst auch nur einen Datensatz ab. Lege mal eine while-Schleife um den foreach-Ausdruck.
Ich erhalte mit
while($zeile=mysql_fetch_array($result))
{
print $zeile["feld"]." : ".$zeile["Treffer"]."<br>\n";
}
die Ausgabe
1 : 3
2 : 2
3 : 1
MfG, Thomas
Der folgende Beitrag wurde am 14. 07. 2004, 10:06 Uhr von Mark veröffentlicht.
Hallo Thomas,
vielen Dank, die Whileschleife war also mein Problem. Habe an der falschen Stelle nach dem Fehler gesucht.
Es funktioniert jetzt einwandfrei..., danke nochmal :)
Gruss, Mark
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4