GROUP BY problem

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

  • GROUP BY problem

    hi!

    versuch mich grad an einer übersichtsseite eines forums und komm einfach nicht weiter. angezeigt werden soll eine tabelle, die forumtitel, letztes posting, anzahl der threads und gesamtanzahl der postings anhält. "areas" ist die tabelle für die einzelnen bereiche des forums.

    die anzahl der postings ist in "count" enthalten, wenn ich folgendes statement absetze:
    Code:
    SELECT `title`, `last_posting`, COUNT(`threads`.`id`) AS `count`
    FROM `areas`
    LEFT JOIN `threads` 
        ON `areas`.`id` = `threads`.`area`
    [b]LEFT JOIN `postings`
        ON `threads`.`id` = `postings`.`thread_id`[/b]
    GROUP BY `areas`.`id`
    die anzahl der threads krieg ich retour, wenn ich die fett markierten zeilen rausnehm.

    ich kriegs nur nicht gebacken, dass mir sowohl die anzahl der themen, als auch die anzahl der beiträge angezeigt wird.

    kann mir hier bitte jemand helfen?

  • #2
    Erstmal ... übertreib's nicht mit den Backticks ... !

    SELECT title, last_posting, COUNT(DISTINCT threads.id) thread_count, COUNT(DISTINCT postings.id) posting_count

    ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      oh, darauf wär ich nicht gekommen! danke vielmals!

      Kommentar


      • #4
        wenn ich noch eine kurze frage stellen dürfte: die bereiche haben eine "sequence"-nummer, die es mir erlaubt, die reihenfolge festzulegen, in der sie dargestellt werden. ich ordne sie jetzt anhand ihrer sequence-nummer.

        das problem dabei ist, dass ein bereich mehrere threads haben kann. auf der übersichtsseite wird allerdings nicht das posting mit dem höchsten timestamp gezeigt, sondern jenes, welches nach dem ORDER BY sequence zuoberst in der liste steht.

        die beiträge nach ihrer sequence-nummer zu sortieren und innerhalb der entstehenden blöcke anhand ihres letzten datums nochmals zu sortieren geht nicht, oder?

        ein abschließendes
        Code:
        ORDER BY sequence, last_posting
        bringt keinen sichtbaren erfolg. das datum stimmt nicht

        Kommentar

        Lädt...
        X