Я хранящей темы для форума с соотношением родителя/ребенка следующим образом:Как выбрать и сортировать данные с родителем/ребенком отношения
CREATE TABLE forum_threads (
thread_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INTEGER UNSIGNED NOT NULL DEFAULT 0,
topic_id INTEGER UNSIGNED NOT NULL,
user_id INTEGER UNSIGNED NOT NULL,
title VARCHAR(100) NOT NULL,
body TEXT NOT NULL,
create_date DATETIME NOT NULL,
PRIMARY KEY (thread_id),
FOREIGN KEY (parent_id)
REFERENCES forum_threads(thread_id),
FOREIGN KEY (topic_id)
REFERENCES forum_topics(topic_id),
FOREIGN KEY (user_id)
REFERENCES users(user_id)
);
Новые темы имеют parent_id = 0
, а ответы есть parent_id = the thread_id being replied to
.
Я хочу, чтобы выбрать наиболее недавно обновлен (ответил на) темы и отображать результаты в таблице следующим образом:
Как я могу это сделать?
SELECT * FROM forum_threads
WHERE topic_id = whatever AND parent_id = 0
WHAT NEXT???
Я не уверен, если это может быть сделано с чистым SQL, или если я должен манипулировать результаты с PHP, или, если я должен попробовать другой подход все вместе?
Эта ссылка поможет вам за то же самое: http://stackoverflow.com/questions/15049133/mysql-select-only-newest-message-from- distinct-threads-order-by-timestamp-priva –