backbone: /mySQL: zusammenfassendes zählen von db-einträgen

moin!

habe nen kleinen problem und auch schon ne lösung die mir aber nicht wirklich gefällt. hier mal der quelltext.

...
$url_basic_request = "SELECT url FROM urlstat GROUP BY url DESC";
$url_bas_req_result = mysql_query($url_basic_request);

echo mysql_error();

while($a = mysql_fetch_array($url_bas_req_result)){

$url_value_request = "SELECT url FROM urlstat WHERE url='$a[0]'";
 $url_val_req_result = mysql_query($url_value_request);

$b = mysql_num_rows($url_val_req_result);
 echo"$a[0]: $b<br>";

}

...

das script soll die url's aus einer tabelle auslesen und dann die anzahl der einzelnen url zusammenzählen. nun wollte ich das aber nicht mit php realisiren sondern es versuchen in mysql zu packen. kann mir jemand helfen und sagen wie das anstellen muss? (ich hoffe die idee ist aus dem script ersichtlich)

tschau und danke im vorau.

marcus

  1. Hoi marcus,

    SELECT COUNT(url) FROM urlstat

    Würde zählen wieviele URLs in deiner Tabelle eingetragen sind,
    und das willst du ja wenn ich dich richtig verstehe :)

    mfg
    Julius

    1. moin!

      SELECT COUNT(url) FROM urlstat

      und das willst du ja wenn ich dich richtig verstehe :)

      sorry, aber das funzt nicht. mit der funktion werde alle einträge gezähl aber nicht das was ich gern zählen möchte.

      ich wollte das z.b so machen:

      url
      ----
      auto
      bus
      rad
      auto
      motorrad
      bus

      und nun soll die mysql-funktion zählen wie oft auto vorkommen und wie oft bus. und wie mache ich das?

      tschau

      1. Hoi backbone,

        häng doch noch eine WHERE Klausel an.

        SELECT COUNT(url) FROM urlstat WHERE url='auto'

        Dann zählt es alle Einträge bei denen url gleich auto ist.

        mfg
        Julius

        1. SELECT COUNT(url) FROM urlstat WHERE url='auto'

          jo, und meine frage ist jetzt noch: wie bekomme ich den wert auto dynamisch bezog. also das ehr die url aus der db auswählt und dann das zählt.

          1. Hallo backbone,

            SELECT COUNT(url) FROM urlstat WHERE url='auto'
            jo, und meine frage ist jetzt noch: wie bekomme ich den wert auto dynamisch bezog. also das ehr die url aus der db auswählt und dann das zählt.

            SELECT count(url) as nr,url FROM urlstat GROUP BY url
            sollte helfen.
            Der Query gibt pro Datensatz die Anzahl einer url und die url aus - für dein Beispiel in [pref:t=55911&m=312337] sieht die Ausgabe also so aus:
            ---
            nr | url
            2  | auto
            2  | bus
            1  | rad
            1  | motorrad
            ---

            • hoffe ich zumindest :-)

            Grüße aus Nürnberg
            Tobias

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. moin!

              SELECT count(url) as nr,url FROM urlstat GROUP BY url
              sollte helfen.

              hoffe ich zumindest :-)

              besten dank - that it is.

              tschau