Arrays durch mysql funktionen ersetzen

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

  • Arrays durch mysql funktionen ersetzen

    Ich hab hier grad mal ne denk blockade.
    Folgendes:

    Es geht um Statistic, es wird eine anzahl von personen und deren plz gespeichert.

    Um nun die Plz rauszufinden von der die meisten personen kommen hab ich ein array gewusel gezimmert :-(. Ich frag mich obs nicht einfacher geht in dem man mysql abfragen sinnvoller nützt.

    Problem:
    Um die Plz mit den meisten personen zubekommen reicht es nicht, einfach eine abfrage nach der grösten anzahl einer plz zu suchen, da die gruppen stärke auch mit reingerechnet werden muss. (zB 80000 kommt 2 mal for mit 100 personen, 10000 50 mal mit einer person ).
    Hat jemand eine idee`?

    Vielen dank
    timepoint5
    Möglich ist alles!

  • #2
    Hopperla das sollte wohl zu brainstorming.
    Möglich ist alles!

    Kommentar


    • #3
      OffTopic:
      Original geschrieben von timepoint5
      Hopperla das sollte wohl zu brainstorming.
      kannst du haben...

      *VERSCHIEB*
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Da dank ich doch recht herzlich
        Möglich ist alles!

        Kommentar


        • #5
          SELECT plz
          FROM tabelle
          ORDER BY anzahl*personen DESC LIMIT 1

          oder deine tabellenstruktur so umbauen, dass du doch einfach zählen kannst
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Oh alles gute nachträglich

            Mit deiner sql query kann ich leider nicht soviel anfangen.

            Meine tabellenstruktur sieht folgendermassen aus:

            id_guest | num ( grösse der gruppe ) | plz | date | uId |


            Ich wüsste auch nicht wie ich das jetzt umstellen könnte. Natürlich könnte ich noch ne tabelle aufmachen, aber mich interresiert obs auch so geht.

            Gruss timepoint5
            Möglich ist alles!

            Kommentar


            • #7
              und du willst die plz haben mit dem größten wert in "num"?

              dann musst du das statement einfach anpassen
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Nene ich wollte die num der plz zusammen zählen, ich hab das jetzt mit einer extra tabelle gelöst. Ist einfach performanter.

                Gruss timepoint5
                Möglich ist alles!

                Kommentar


                • #9
                  du willst alles PLZ's zusammenzählen? also addieren?

                  oder willst du nur wissen, wieviel PLZ's in der DB sind und/oder wieviele davon unterschiedlich sind?
                  INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                  Kommentar


                  • #10
                    Nuschel ich oder was?

                    Nur spass

                    Bisschen wirr ausgedrückt, nochmal falls wer sowas mal braucht:

                    eine plz und eine anzahl fon gästen wird eingegeben, die plz kann mehrmals vorkommen.
                    Also muss ich zusammen zählen wieviele leute von einer bestimmten plz kommen.

                    Kann man auf verschiedene arten lösen. Spasses halber poste ich mal eine eine funktion die das macht:

                    PHP-Code:
                     function countDouble($array)
                    {
                    $unique array_unique ($array);
                    $sizeofunique =  sizeof($unique);
                    sort ($unique);
                    reset ($unique);
                    $uniqueflip $unique;
                    $uniqueflip array_flip($uniqueflip);
                    for(
                    $i=0$i<=$sizeofunique$i++)
                    {

                    foreach (
                    $array as $value) {
                        if(
                    $unique[$i] == $value) {

                    if (
                    $temp != $unique[$i])
                    {
                    $cheak "1";
                    }

                    $temp =    $unique[$i];

                    if((
                    $uniqueflip[$temp] != 1) && ($cheak == "1"))
                    {
                    $cheak "";
                    $uniqueflip[$temp] = 0;

                    $uniqueflip[$temp] = $uniqueflip[$temp]+1;

                    }
                    }

                    }

                    return 
                    $uniqueflip;



                    Ich ma mir das dann noch mal angeschaut und eine 5 zeilen lösund gefunden

                    Gruss timepoint5
                    Möglich ist alles!

                    Kommentar

                    Lädt...
                    X