sql abfrage +addieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • sql abfrage +addieren

    Hallo Leute,

    Habe mal ne frage und zwar möchte ich aus meiner DB die ränge auslesen (gibt 21) .Diese werden von 0-21 gespeichert. Davon habe ich zb von dem "11" 500 stück. Die abfrage selber ist ja eigentlich kein problem würde das so machen um die alle auszulesen :



    PHP-Code:
    <?php
    require("mysql.php");

    $db->query("SELECT COUNT(*) FROM data");
    list(
    $playercount) = $db->data();


    $db->query("SELECT `rank` FROM data ORDER BY scor ");
    while(list(
    $rank) = $db->data()) echo ''.$rank.'';

    ?>
    Dann gibt er mir alle die es in der DB gibt aus, Nur möchte ich ja die anzahl wissen wie oft es zb rang 0 - 25 gibt und das geht ja so nicht oder ?



    Wenn es die "11" zb 500 gibt möchte ich das er mir die anzahl ausgibt wie oft es in meiner DB gibt . Beispiel : den Rang 1 gibt es : "355" mal.

    Wie kann ich das machen?


    Danke schonmal.

    MFG
    Zuletzt geändert von DarksoldierXX; 31.10.2006, 18:56.

  • #2
    Re: sql abfrage +addieren

    Du suchst COUNT() und GROUP BY.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo,


      Also das Count hat ja dafür gesort das er alles zusammen zählt. sprich mir nun anzeigt wieviele ränge es gibt.

      Aber mit dem group by komme ich nicht klar. ich möchte doch jetzt das er mir die 5550 aufteilt in die einzelnen ränge sprich anzeigt wieveile es von jeden gibt.


      was soll cih den in den group rein schreiben? habe ja keine Infos in dem meiner tabelle ausser halt den rang.


      danke

      Kommentar


      • #4
        Erst nach Rang gruppieren, dann gruppierte Datensätze zählen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Hallo,


          also habe da smal so eingebaut


          PHP-Code:
          <?php


          $db
          ->query("SELECT COUNT(rank) `rank` FROM data  ORDER BY rank   ");
          while(list(
          $rank) = $db->data()) echo  '<table><tr><td>'.$rank.'</td></tr></table>';

          ?>
          dann zeigt er an welche gruppen es gibt sprich welche ränge. 0-21

          wenn ich dann aber das group mit einsetzte sagt er can not group by rank.

          hier der fehler :

          Code:
          An error occured while accessing the database
          Access is not possible due to this reason:
          
          MySQL-Fehler:
          Can't group on 'rank'
          MySQL-Fehler Nummer:
          1056
          Date:
          Nov 01, 2006 @ 11:19
          Script:
          /top10/test1.php
          Referer:
          Abfrage:
          SELECT COUNT(rank) `rank` FROM data GROUP BY rank ORDER BY rank


          das mein code :



          PHP-Code:
          <?php


          $db
          ->query("SELECT  `rank` FROM data  GROUP BY rank    ");
          while(list(
          $rank) = $db->data()) echo  '<table><tr><td>'.$rank.'</td></tr></table>';

          ?>
          Hier der Link ztur datei mit GRoup aber ohne Count
          Klick


          sobald ich aber count und group einbaue kommt der fehler das er nicht nach rank groupen kann.

          was mache ich denn falsch=?
          Zuletzt geändert von DarksoldierXX; 01.11.2006, 10:33.

          Kommentar


          • #6
            hallo


            hat sich erledigt hatte ein , hinter dem Count vergessen :-(

            habe aber noch eine frage und zwar möchte ich das er das nach den rängen sprich 0- 21 sotiert. das geht ja mit ORDER BY rank DESC. aber da sotiert der das nicht nach der der aufsteigenden zahl. wo finde ich denn die befehle ?


            danke dir trotzdem.
            Zuletzt geändert von DarksoldierXX; 01.11.2006, 12:05.

            Kommentar


            • #7
              Original geschrieben von DarksoldierXX
              das geht ja mit ORDER BY rank DESC. aber da sotiert der das nicht nach der der aufsteigenden zahl.
              Es geht, aber es geht nicht wie gewünscht ...?

              Was denn jetzt - sortiert MySQL vielleicht, aber andersherum als du willst?

              Dann solltest du vielleicht mal das Keyword DESC austauschen ...
              wo finde ich denn die befehle ?
              Tja - im Handbuch vielleicht ...?

              http://dev.mysql.com/doc/refman/4.1/en/
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Ja er sortiert nur falsch.Habe auch schon das DESC druch ASC ersetzt aber es klappt nicht. Normal müsse ich ja aSC nehmen dafür.


                Auf dem link kannst du das doch sehen.

                Hier nochmal der Link

                KLICK

                Kommentar


                • #9
                  Original geschrieben von DarksoldierXX
                  Auf dem link kannst du das doch sehen.
                  Da hast du doch offenbar noch gar kein COUNT eingebaut?

                  Außerdem sieht's so aus, als ob du deine Ränge als VARCHAR, und nicht als nummerische Werte in der DB abgelegt hättest?
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar

                  Lädt...
                  X