Probleme mit GROUP-Funktion, Hilfe !!!

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

  • Probleme mit GROUP-Funktion, Hilfe !!!

    Hallo Leute !

    Ich habe ein riesiges Problem mit mySQL und hoffe hier kann mir jemand helfen :
    Also, ich hab zwei Tabellen. Tabelle 1(link_data) enthält Links; Felder sind id,name,url. Tabelle 2(link_comments) enthält bewertungen dafür. Felder: id, link_id, points.

    Jetzt möchte ich alle Links anzeigen, sortiert nach der durchschnittsbewertung. Folgenden sql-query habe ich verwendet:

    select d.id, d.name, avg(c.points) as avgvotes from link_data d left join link_comments as c on d.id=c.link_id group by d.id order by avg(c.points) desc

    Ich erhalte aber immer den Fehler "Falsche Verwendung der GROUP-Funktion" (code 1111)

    Kann mir jemand sagen was ich falsch mache ? Bin voll verzweifelt !

    MfG Darius

  • #2
    select d.id, d.name, avg(c.points) as avgvotes from link_data d left join link_comments as c on d.id=c.link_id group by d.id order by 3 desc

    Kommentar


    • #3
      danke, das geht zwar, aber jetzt werden die Links die noch keine Bewertung haben, als erstes angezeigt. Sie sollen aber als letztes erscheinen....

      MfG Darius

      Kommentar


      • #4
        select d.id, d.name, avg(c.points) as avgvotes from link_data d left join link_comments as c on d.id=c.link_id group by d.id order by 3 asc

        das desc kommt aber aus Deinem Posting

        Kommentar


        • #5
          das hab ich leider auch schon probiert. Selbes Ergebnis. Ich weiß, ich nerv, aber das muß doch irgendwie zu machen sein daß die unbewerteten Links unten stehen ?

          Kommentar


          • #6
            Laß mal vorerst den join weg, bau ihn erst ein, wenn die Sortierung funktioniert, wenn das möglich ist.

            Kommentar


            • #7
              das würde aber auch nichts bringen. denn wenn die avg(points) noch keine Bewertung haben, steht in der Datenbank ja ein leerer Wert, also NULL. Trotzdem werden die bewerteten avg(points), die sagen wir mal eine Bewertung von 3 haben, darunter angezeigt ! Das ist doch crazy ! Seit wann ist 0 mehr als 3 ? Das müßte doch theoretisch genau umgekehrt sein !

              Kommentar


              • #8
                Ist wenigstens nach den 0er Records alles sortiert, oder auch nicht? Kann das sein, daß immer zuerst die 0er ausgegeben werden?

                Kommentar


                • #9
                  Ist das Feld NULL oder NOT NULL?

                  CAT Music Files

                  Kommentar


                  • #10
                    das Feld ist leer, also NULL ! Oder verstehe ich da jetzt was falsch ?

                    Kommentar


                    • #11
                      Es ist ein Unterschied, ob das Feld '0' als numerischen Wert, 'nichts' als String oder 'nichts' als NULL enthält. NULL-Werte erfordern eine Extra-Behandlung, also schau bitte nach, ob das Feld als NULL oder NOT NULL markiert ist bzw. was es enthält.

                      Nenne im Falle von NOT NULL bitte auch den Datentyp des betreffenden Feldes.

                      [Editiert von Sky am 05-02-2002 um 15:56]

                      CAT Music Files

                      Kommentar


                      • #12
                        Das Feld ist leer ! Da steht überhaupt nichts drin. Es hat ja auch noch keine Bewertung, sprich Eintrag bekommen. Alles andere funktioniert ja auch und wird richtig ausgegeben. Nur nicht die leeren Felder. Soviel ich weiß ist das doch NULL oder ?

                        Kommentar


                        • #13
                          Bitte beantworte meine Fragen, zumindest die mit dem Datentyp.

                          CAT Music Files

                          Kommentar


                          • #14
                            sorry aber ich kann dir jetzt nicht ganz folgen. Ich bin mit mySQL noch nicht so versiert

                            Kommentar


                            • #15
                              Aber du hast deine Tabelle doch selbst erstellt...?

                              CAT Music Files

                              Kommentar

                              Lädt...
                              X