我想通過獲取帖子的最後回覆來複制論壇功能。使用SQL獲得最後一個帖子回覆
爲了清楚起見,請參閱PHPBB:有四列,最後一列是我喜歡複製的內容。
我有我的表,因爲這樣產生:
- discussion_id(主鍵)
- USER_ID
- PARENT_ID
- 評論
- 狀態
- pubdate的
我正在考慮創建一個鏈接表,每次回覆帖子時都會更新它。
鏈接表將如下:
- discussion_id(主鍵)
- last_user_id
- last_user_update
不過,我希望那裏有一個提前查詢實現這一目標方法。也就是說,抓住每個家長討論,並在每個家長討論中找到最後一個答覆。
我說得對,有這樣的查詢嗎?
這裏是更新。 我仍然有一點麻煩,但我覺得我快到了。
我當前的查詢:
SELECT
`discussion_id`,
`parent_id`,
`user_id` as `last_user_id`,
`user_name` as `last_user_name`
FROM `table1`, `table2`
WHERE `table1`.`id` = `table2`.`user_id`
結果:
discussion_id---------parent_id-----last_user_id-------last_user_name
30---------------------NULL-------------3--------------raiku
31---------------------30---------------2--------------antu
32---------------------30---------------1--------------admin
33---------------------NULL-------------3--------------raiku
添加此:
GROUP BY `parent_id`
把它變成:
discussion_id---------parent_id-----last_user_id-------last_user_name
32---------------------30---------------1--------------admin
33---------------------NULL-------------3--------------raiku
但我希望它變成:
discussion_id---------parent_id-----last_user_id-------last_user_name
30---------------------NULL-------------3--------------raiku
32---------------------30---------------1--------------admin
33---------------------NULL-------------3--------------raiku
ID 30和ID 33共享相同的PARENT_ID:NULL,但他們是「啓動線程」或「父後」
他們不應該不被合併,我將如何繼續「分組」,但「忽略」空值?
對Parent_Id進行分組時,它也將那些爲空的分組。那個空的不是組,因爲它們本身就是parent_id。我如何根據parent_id進行分組但忽略空值? – Anraiki 2010-04-11 13:51:57