MrAnderson
Grünschnabel
Hallo,
aktuell arbeite ich an einem Forum, für das ich nun MySQL Abfragen erstellen muss.
Für die Forum Übersicht möchte ich folgende Daten aus der Datenbank laden.
Die aktuelle Abfrage gibt mir zwar alle Foren und die passenden Details dazu aus, jedoch schaffe ich es nicht die Tabellen (forum_post) absteigend zu sortieren. Eine zusätzliche "ORDER BY" Anweisung wird einfach ignoriert, sobald ich "GROUP BY" der Abfrage hinzufüge.
Gibt es eine Möglichkeit die Tabellen mit Joins zu sortieren oder muss ich auf Subselects zurückgreifen?
Meine Abfrage:
Edit: Kann man den Titel hier nicht mehr nachträglich ändern? Hab vergessen Mysql im Titel mit anzugeben.
aktuell arbeite ich an einem Forum, für das ich nun MySQL Abfragen erstellen muss.
Für die Forum Übersicht möchte ich folgende Daten aus der Datenbank laden.
- Titel des Forums
- Beschreibung des Forums
- Letztes Thema (Welches den neusten Post beinhaltet.)
- Letzter Post von (Den Benutzernamen des Mitgliedes, welches den neuesten Post verfasst hat.)
- Timestamp des letzten Posts
- Anzahl der Beiträge in dem Forum
- Anzahl der Themen in dem Forum
Die aktuelle Abfrage gibt mir zwar alle Foren und die passenden Details dazu aus, jedoch schaffe ich es nicht die Tabellen (forum_post) absteigend zu sortieren. Eine zusätzliche "ORDER BY" Anweisung wird einfach ignoriert, sobald ich "GROUP BY" der Abfrage hinzufüge.
Gibt es eine Möglichkeit die Tabellen mit Joins zu sortieren oder muss ich auf Subselects zurückgreifen?
Meine Abfrage:
SQL:
SELECT
forum_board.boardID AS board_id,
forum_board.description AS board_description,
forum_board.title AS board_title,
forum_thread.title AS thread_title,
forum_post.postTimestp AS post_timestp,
usersys_user.username AS post_username,
COUNT(forum_thread.threadID) AS num_threads,
COUNT(forum_post.postID) AS num_posts,
forum_post.postID AS LAST_POST_ID_FOR_DEBUG
FROM forum_board
LEFT OUTER JOIN forum_thread
ON forum_board.boardID = forum_thread.boardID
LEFT OUTER JOIN forum_post
ON forum_thread.threadID = forum_post.threadID
LEFT OUTER JOIN usersys_user
ON forum_post.userID = usersys_user.userID
WHERE forum_board.isSubBoardOf NOT LIKE 0
GROUP BY forum_board.boardID
ORDER BY board_id
Edit: Kann man den Titel hier nicht mehr nachträglich ändern? Hab vergessen Mysql im Titel mit anzugeben.
Zuletzt bearbeitet von einem Moderator: