0
我有一个消息表 -无法通过正确地结合集团和ORDER BY在加入
msg
_____
id int(11)
subject varchar(255)
content text
create_time datetime
parent int(11)
parent
是一个外键到msg
表本身。parent
只能指代具有parent
设置为NULL
的行,即在对话内的所有答复都具有单个父母:对话的第一个消息。
我希望能够在create_time
降序选择父的消息,同时也要考虑它们的答复的create_time
,例如在Gmail分组对话的顺序。我也想加入最近的回复(如果存在的话)给每位家长。
我无法拿出正确的SQL。这是我到目前为止已经完成 -
SELECT * FROM `msg` `parent`
LEFT JOIN `msg` `reply`
ON `reply`.`parent` = `parent`.`id`
WHERE `parent`.`parent` IS NULL
GROUP BY `parent`.`id`
ORDER BY `reply`.`create_time` DESC
两个直接的问题,这是 -
- 父创建时间不带入
ORDER BY
条款。 - 这不是给我父母最近的答复。
我会欣赏一个正确的方向戳。谢谢。
在这里看到:http://stackoverflow.com/questions/2207711/selecting-the-latest-per-group-of-items – mihaisimi 2012-08-09 11:23:05
@mihaisimi谢谢,这有助于。 – Bojack 2012-08-10 04:51:34