Zählen gleicher einträge

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

  • Zählen gleicher einträge

    Also ich weiß es nicht wie ich das schaffe nun ich habe eine
    Datenbank und in dieser kommen in einer Zeile mehrmals die selben einträge vor wie schaff ich es nun das er zählt wie oft zB ein eintrag vorkommt.
    Und wie schaff ich es wenn ich in einer anderen zeile Zahlen hat, das er mir den die höchste davon ausgibt?

  • #2
    PHP-Code:
    COUNT
    MAX 
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      und event. GROUP BY, HAVING

      Kommentar


      • #4
        nun gut also ich habe eine Sachen rausbekommen:



        PHP-Code:
        SELECT playernamehighest_killing_spreeMAXhighest_killing_spree ) , levelnameCOUNTDISTINCT levelname )
        FROM ranking1
        GROUP BY playername
        ORDER BY highest_killing_spree DESC 
        dies gibt mir jetzt die zwar die anzahl der levelname allerdings steht in levelname nicht nur immer das selbe.
        zb steht einmal
        mp_radio und einmal mp_toon

        nun würde ich es aber gerne so haben das er sagt es der spieler 1 mal toon gespielt hat und 1 mal radio

        wie schaff ich das

        Kommentar


        • #5
          keiner einen rat?

          Kommentar


          • #6
            wenn du den spieler 2x ausgeben möchtest, also sozusagen 2 Zeilen mit je dem gleichen spieler haben willst, würde ich das "group by playername" überdenken!

            Kommentar


            • #7
              nun ich will eben für diesen spieler die anzahl der levelnames ausgaben.
              wenn es nun mehrere verschiedene levelname sind weiß ich net wie das geht.

              so war das gemeint.

              Kommentar


              • #8
                ok habs geschafft nun hab ich allerdings das nächste problem

                PHP-Code:
                $abfrage2 "SELECT levelname, Count( levelname ) 
                FROM ranking1
                GROUP BY levelname"
                ;
                  
                   
                $ergebnis2 mysql_query($abfrage2)
                  or die(
                mysql_error().'<hr />'.'$abfrage'.'<hr />');
                  
                echo 
                "<body bgcolor=#515151 style='font-weight:bold;'><div align='center'>
                      <table class='ranking' cellpadding='0' cellspacing='0'>
                             <tr>
                               <td>Maps</td>
                               <td>Anzahl</td>
                             </tr>"
                ;
                  
                while(
                $row2 mysql_fetch_assoc($ergebnis2)){

                echo 
                "<pre>\n";
                print_r($row2);
                echo 
                "</pre>\n";

                echo 
                "<tr>
                        <td>
                $row2[levelname]</td>
                        <td>
                $row2[Count( levelname )]</td>
                        </tr>"
                ;

                nun komm dort immer dies hier:

                Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting ']' in /kunden/130865_71282/webseiten/index.php on line 163
                was auch klar ist "$row2[Count( levelname )]"

                aber wie kann ich das ändern den wenn ich oben das array ausgeben

                echo "<pre>\n";
                print_r($row2);
                echo "</pre>\n";

                kommt das hier:

                Array
                (
                [levelname] => mp_2v2_toon
                [Count( levelname )] => 20
                )

                Array
                (
                [levelname] => mp_radio
                [Count( levelname )] => 20
                )
                wie könnt ich den den namen von [Count( levelname )] ändern oder gibt es einen anderen trick

                Kommentar


                • #9
                  PHP-Code:
                  $abfrage2 "SELECT levelname, Count( levelname ) AS c_lvl
                  FROM ranking1
                  GROUP BY levelname"
                  ;
                    
                     
                  $ergebnis2 mysql_query($abfrage2)
                    or die(
                  mysql_error().'<hr />'.$abfrage.'<hr />');
                    
                  echo 
                  "<body bgcolor=#515151 style='font-weight:bold;'><div align='center'>
                        <table class='ranking' cellpadding='0' cellspacing='0'>
                               <tr>
                                 <td>Maps</td>
                                 <td>Anzahl</td>
                               </tr>"
                  ;
                    
                  while(
                  $row2 mysql_fetch_assoc($ergebnis2)){

                  echo 
                  "<pre>\n";
                  print_r($row2);
                  echo 
                  "</pre>\n";

                  echo 
                  "<tr>
                          <td>
                  $row2['levelname']</td>
                          <td>
                  $row2['c_lvl']</td>
                          </tr>"
                  ;

                  mfg
                  Freedom is a state of mind. Not a state in which we live.

                  troxdev.ch | animefieber

                  Kommentar


                  • #10
                    jo habs schon anderst geschafft.

                    PHP-Code:
                    <td>".$row2['Count( levelname )']."</td
                    ähm noch ne frage

                    ich habe bis jetzt das datum also über timestamp in eine spalte geschrieben.
                    nun ist das sinnvoll wenn ich nun alle einträge eines gewissen datums wissen will. Oder sollte ich da lieber die Date funktion von mysql nehmen.

                    und wenn ja wie schaff ich es das es nur die daten eines bestimmten Datums anzeigt zB.

                    Heute haben wir den :

                    21.1.2007

                    Dann soll man den Tag davor auswählen können

                    20.1.2007

                    aber eben das immer so das es von dem heutigen datum zruückgeht und auch nur die Daten dieses Datums nimmt und nicht die von den heutigen Datum anezeigt.

                    Kommentar


                    • #11
                      Ja, die Spalte bekommt den Typ DATE bzw. DATETIME.

                      Dann schaust du dich bei den Date and Time-Functions von MySQL mal um und suchst dir die passende Formatierungsfunktion.

                      Das sind mal wieder alles grundlagen, aber weil es ja so einfach ist, jeden furz hier zu fragen nach dem Motto "Dies geht jetzt, aber jetzt habe ich noch Jenes Problem" und weil wir aimmer so nett sind und antworten, wirst du das selbstständige Arbeiten nie erlernen.

                      Ein Glück bist du nur "Zocker" und kein selbsternannter Webdeveloper, denn dann wäre man dir richtig böse.

                      Nur meine zwei Pfennige...

                      Kommentar


                      • #12
                        k hab das mal gemacht hab dann dies nun:

                        NOW() - INTERVAL 1 DAY

                        DATE_FORMAT(NOW(), '%e.%c.%Y')

                        Das obere ist das für den tag davor allerdings will ich es in der form die dann in der nächsten zeile steht.
                        aber wie schaff ich das, dass die Ausgabe in dieser form ist

                        Kommentar


                        • #13
                          Häng dich mal noch ne stunde ran, dann bekommst du es sicher hin.

                          Kommentar


                          • #14
                            habs geschafft^^

                            SELECT DATE_FORMAT( DATE_ADD( NOW( ) , INTERVAL -1

                            Kommentar


                            • #15
                              OffTopic:
                              na siehste...

                              Kommentar

                              Lädt...
                              X