Announcement

Collapse
No announcement yet.

GROUP BY ich komm nicht klar :(

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • GROUP BY ich komm nicht klar :(

    Hi Leute,

    ich habe eine frage zum Group by

    ich gruppiere nach einer ID und und möchte die max id eines anderen Wertes habe ist ja kein problem... Wenn ich jetzt aber nicht die max sondern die letzte id haben

    Also es geht um phpBB3 ich habe eine Tabelle "posts"

    Felder: post_id; topic_id; poster_id und und und

    ich will nun nach topic_id gruppieren und brauche einmal die poster_id vom letzten Beitragsersteller.

    Mit SubQueries wird das ganze nen bissel groß weil ich noch einei andere Daten brauche mein MySql sagt bei meiner Query 13 Sekunden und das nur weil ich die 20 letzten topics haben möchte mit der Info wer das Topic erstellt hat wer den letzten Post erstellt hat wann usw:


    Meine Query:
    Code:
    SELECT max(post_id), topic_id as akt_topic_id ,po.forum_id,parent_id,forum_parents, forum_name, poster_id, username as poster,
           (SELECT poster_id 
    	FROM phpbb_posts
            WHERE post_time = (SELECT max(post_time) 
                               FROM phpbb_posts
                               WHERE topic_id = akt_topic_id
                               GROUP BY topic_id))  as last_poster_id,
           (SELECT username 
    	FROM phpbb_posts LEFT OUTER JOIN phpbb_users ON poster_id = user_id
            WHERE post_time = (SELECT max(post_time) 
                               FROM phpbb_posts
                               WHERE topic_id = 412
                               GROUP BY topic_id))  as last_poster_name,  max(post_time),post_subject
    FROM phpbb_posts po NATURAL JOIN phpbb_forums fo LEFT OUTER JOIN phpbb_users ON poster_id = user_id
    GROUP BY topic_id
    ORDER BY max(post_id) DESC
    LIMIT 20
    Sry wenn ich einige typische Fehler gemacht habe aber mein SQL war nie das beste

    evtl kann mir einer helfen???
Working...
X