Anzahl Datensätze über mehrere Felder

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

  • Anzahl Datensätze über mehrere Felder

    Hallo!

    Folgendes Problem:

    In 6 Feldern stehen unterschiedliche Zahlen von 1 bis 49.
    Ich möchte nun eine Statistik, welche Zahl wie oft vorkommt.
    Das klappt auch soweit.
    Nur die Zahl mit dem höchsten Wert wird nicht ausgegeben.

    PHP-Code:
    $sql "SELECT feld1
    , COUNT(*) AS anzahl

    FROM (
    SELECT feld1 FROM  tabelle WHERE feld1> '' UNION ALL
    SELECT feld2 FROM  tabelle WHERE feld2> '' UNION ALL
    SELECT feld3 FROM  tabelle WHERE feld3> '' UNION ALL
    SELECT feld4 FROM  tabelle WHERE feld4> '' UNION ALL
    SELECT feld5 FROM  tabelle WHERE feld5> '' UNION ALL
    SELECT feld6 FROM  tabelle WHERE feld6> '' 
    ) AS nested

    GROUP BY feld1

    ORDER BY anzahl DESC" 

    Was ist daran falsch?

    Danke, Chris

  • #2
    Suchst du vllt. statt COUNT(*) eher MAX(*) ?
    Ansonsten versteh ich dein Problem fürchte ich nicht...

    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
    Wie man Fragen richtig stellt

    Kommentar


    • #3
      Hallo!

      Ich möchte zählen welche Zahl wie oft vorkommt.
      Die Zahlen verteilen sich auf 6 Felder.
      Die Zahl, die am meisten vorkommt, wird aber nicht ausgegeben.
      Alle anderen schon.

      Beispiel:
      Zahl 33 350mal
      Zahl 17 322mal
      usw

      Kommentar


      • #4
        Vielleicht ist deine Ausgabe falsch?
        Den Query mal z.B. direkt in phpmyadmin abgesetzt?

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Hi,

          ich nehme an das soll so ne Art wie oft wurde die Zahl in Lotto gezogen werden ?

          Jede Spalte entspricht die gezogene Zahl je Spiel?

          um das alles zu vereinfachen würde ich die Tabellen ganz anders machen

          tabelle_spiele
          spiel_id - spiel_datum

          tabelle_zahlen
          spiel_id - zahl

          SELECT COUNT(zahl) AS anzahl, zahl FROM tabelle_zahlen GROUP BY zahl ORDER BY anzahl DESC


          vg
          gourmet

          Kommentar


          • #6
            Hallo!

            In PHPmyAdmin klappt es.

            Meine Ausgabe sieht folgendemaßen aus.

            PHP-Code:
            $result mysql_query($sql,$dbi) OR die(mysql_error());
            $total  =mysql_result($result,0);                                      
             
            while(
            $row mysql_fetch_assoc($result))

            {
            echo
            '
              <tr class="feld" onMouseOver = this.bgColor="moccasin"; onMouseOut = this.bgColor="";>
                
                <td width="50%" valign="top"><center>'
            .$row['zahl1'].'</center></td>
                <td width="50%" valign="top"><center>'
            .$row['anzahl'].'</center></td>

                  
              </tr>'
            ;
                

            }; 

            Kommentar


            • #7
              Hallo!

              Problem gelöst.

              Es war die Zeile:
              $total =mysql_result($result,0);

              Die hat mir den ersten Datensatz abgefangen.

              Gruß, Chris

              Kommentar

              Lädt...
              X