Problem beim Vergleich von SUMs

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

  • Problem beim Vergleich von SUMs

    Hallo, Grüße erstmal, ich bin neu hier.
    Ich dachte vielleicht kann mir ja jemand von Euch bei einer Formulierungsfrage helfen.

    Ich habe folgende Tabelle "gewinne"

    PHP-Code:
    user_id gewinn gewinn_datum
    -------------------------------
    1       10     2003-08-01
    2       
    20     2003-08-04
    1       
    20     2003-08-05
    2       
    20     2003-08-07
    3       
    60     2003-08-09
    4       
    70     2003-08-11
    1       
    20     2003-08-12
    3       
    20     2003-08-15 
    Ich bräuchte nun eine Abfrage, die mir bei Angabe einer user-ID ausgibt, wieviele andere User bis jetzt insgesamt mehr gewonnen haben.

    Zum Beispiel User-ID: 1 -> 2 (zwei andere User haben bis jetzt mehr gewonnen)
    oder
    User-ID: 2 -> 3 (drei andere User haben bis jetzt mehr gewonnen)

    Welche User das eigentlich sind spielt dabei keine Rolle, nur die Anzahl.

    Kennt jemand eventuell eine elegante Lösung?

    Vielen Dank im Voraus.

  • #2
    Re: Problem beim Vergleich von SUMs

    rein als SQL-statement fällt mir da jetzt keine lösung ein.

    ich würde für jeden user die summe auslesen, und nach der höhe dieser summe ordnen lassen.

    dann die gesamte ergebnismenge in ein array packen, und anschliessend nachsehen, an welcher stelle der user in diesem array steht.
    steht er an fünfter stelle, so gibt es vier user mit einem höheren gewinn.

    dabei allerdings auch noch den sonderfall berücksichtigen, dass evtl. zwei user einen gleich hohen gewinn haben ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Na gut. Hab's jetzt halt mit ner Schleife gemacht. Ist zwar unschön, aber wenn's nicht anders geht...
      Trotzdem danke!

      Kommentar


      • #4
        Mhm, du kannst das auch in 2 Query's machen.

        Im ersten Query fragst du halt den Aktuellen Gewinn der entsprechenden ID ab.

        Den zweiten formuliert du dann einfach so (In der Annahme, dass du den Gewinn des ersten Query's in die Variable $score übertragen hast):
        PHP-Code:
        $query "SELECT * FROM gewinne WHERE gewinn > "$score
        Dann mysql_num_rows(), und du hast die Anzahl
        Ist sauberer als ne Schleife. Strapazierst die Datenbank aber zwei mal.

        Oder bin ich jetzt schon zu muede um das zu raffen? =D

        Kommentar


        • #5
          is schick, aber warum alles holen und in php zählen?
          Code:
          SELECT COUNT(user_id)+1 platz
          FROM gewinne
          WHERE gewinn > $score
          sollte das gleiche bewirken

          sind zwar auch zwei abfragen, aber die abfrage macht gleich das, was sie soll
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Naja, nicht ganz. Ich möchte ja wissen wissen vieviele Leute mehr Gesamtgewinn haben, nicht einen hohen Gewinn an einem einzelnen Tag.
            Trotzdem danke.

            Kommentar


            • #7
              Oh, ich war gestern wirklich etwas zu muede; ich sehe erst jetzt, dass es eine Art Gewinn-Log darstellt. Tut mir lied.

              Kommentar

              Lädt...
              X