zhaideyou
-- 创建表
DROP TABLE IF EXISTS articles;
CREATE TABLE articles(
   id INT AUTO_INCREMENT PRIMARY KEY,
   title VARCHAR(50), 
   postuser VARCHAR(10), articles
   postdate DATETIME,
   parentid INT  REFERENCES articles(id)
   );
-- 插入数据库
INSERT INTO articles VALUES
(NULL,\'第一条\',\'张三\',\'1998-10-10 12:32:32\',NULL),
(NULL,\'第二条\',\'张三\',\'1998-10-10 12:34:32\',NULL),
(NULL,\'第一条回复1\',\'李四\',\'1998-10-10 12:35:32\',1),
(NULL,\'第二条回复1\',\'李四\',\'1998-10-10 12:36:32\',2),
(NULL,\'第一条回复2\',\'王五\',\'1998-10-10 12:37:32\',1),
(NULL,\'第一条回复3\',\'李四\',\'1998-10-10 12:38:32\',1),
(NULL,\'第二条回复2\',\'李四\',\'1998-10-10 12:39:32\',2),
(NULL,\'第一条回复4\',\'王五\',\'1998-10-10 12:39:40\',1);

-- 显示文章标题,发帖人、最后回复时间

-- 知识点一:在Select 中循环嵌套使用 Select
-- 知识点二:判断 null 用 is
SELECT a.title , a.postuser , (SELECT MAX(b.postdate) FROM articles b WHERE b.id = a.id) AS reply
FROM articles a
WHERE a.parentid IS NULL;

 

分类:

技术点:

相关文章: