Hi,
ich habe hier einen MySQL Query, der mir aus 4 Tabellen zusammenhängende Daten hohlt. Diese sind für ein Forum. Um genauer zu sein, für die Themenanzeige in einem Forum. Alles klappt soweit wunderbar, nur eines nicht und das ist die Sortierung nach der Zeit. GROUP BY greift vor ORDER BY und kann daher die Beiträge nicht mehr innerhalb eines Themas sortieren. Statt den letzten Beitrag eines Themas, erhalte ich immer den Ersten. Erst sortieren und dann zusammenfassen geht leider nicht
Hier mal der Query. Vielleicht kann mir den jemand so anpassen, dass es funktioniert. Eigentlich wollte ich alles schön kompakt in einem Query haben. Wenn es aber nicht vermeidbar ist, einen zweiten/dritten benützen zu müssen, dann sei es so.
Danke schonmal für eure Bemühungen
Kleine anmerkung: Es steht mit MySQL5 zur Verfügung, wenn das hilft
ich habe hier einen MySQL Query, der mir aus 4 Tabellen zusammenhängende Daten hohlt. Diese sind für ein Forum. Um genauer zu sein, für die Themenanzeige in einem Forum. Alles klappt soweit wunderbar, nur eines nicht und das ist die Sortierung nach der Zeit. GROUP BY greift vor ORDER BY und kann daher die Beiträge nicht mehr innerhalb eines Themas sortieren. Statt den letzten Beitrag eines Themas, erhalte ich immer den Ersten. Erst sortieren und dann zusammenfassen geht leider nicht

Hier mal der Query. Vielleicht kann mir den jemand so anpassen, dass es funktioniert. Eigentlich wollte ich alles schön kompakt in einem Query haben. Wenn es aber nicht vermeidbar ist, einen zweiten/dritten benützen zu müssen, dann sei es so.
SQL:
SELECT
`bt`.`id` as t_id,
`bt`.`starter_name` as t_sn,
`bt`.`starter_id` as t_sid,
`bt`.`name` as t_t,
`bt`.`klicks` as t_v,
`bt`.`path` as t_p,
`bp`.`author_name` as p_an,
`bp`.`author_id` as p_aid,
`bp`.`time` as p_t,
#`bp`.`title` as p_n,
`bc`.`id` as bc_id,
`bc`.`name` as bc_n,
`bb`.`name` as bb_n,
COUNT(`bp`.`id`) as p_count #das muss man noch ändern... später
FROM
`board_topics` as bt,
`board_posts` as bp,
`board_columns` as bc,
`board_boards` as bb
WHERE
`bc`.`id` = '".$id."'
AND `bb`.`id` = `bc`.`parent`
AND `bt`.`path` = CONCAT(`bc`.`parent`, '-', `bc`.`id`)
AND `bp`.`path` = CONCAT(`bt`.`path`, '-', `bt`.`id`)
GROUP BY
`bt`.`id`
ORDER BY
`bp`.`time` DESC
LIMIT $start, $topics_per_page
Danke schonmal für eure Bemühungen
Kleine anmerkung: Es steht mit MySQL5 zur Verfügung, wenn das hilft
Zuletzt bearbeitet: