【发布时间】:2018-05-11 17:49:32
【问题描述】:
树评论系统实现为简单的嵌套集
+---------+-----------+---------+---------+------- +--------+ |编号 | parent_id |半边天 | rgt |深度 |评级 | +---------+-----------+---------+---------+------- +--------+ | 4073406 | | 1058655 | 1058656 | 0 | 0 | | 3721850 | | 1058651 | 1058654 | 0 | 2 | | 4279470 | 3721850 | 1058652 | 1058653 | 1 | 0 | | 3682985 | | 1058649 | 1058650 | 0 | 1 | | 3643602 | | 1058647 | 1058648 | 0 | 0 | | 3182010 | | 1058643 | 1058646 | 0 | 3 | +---------+-----------+---------+---------+------- +--------+左右键排序
SELECT * FROM COMMENTS ORDER BY rgt DESC; # firstly new
SELECT * FROM COMMENTS ORDER BY lft ASC; # firstly old
这既简单又有效。
Q:如何根据线程中第一个[root]评论的评分对cmets进行排序,对其他非root cmets按左右键排序?
您可以在 YouTube 和其他一些网站上看到类似的实现,您可以在其中显示 new 或 popular cmets
【问题讨论】:
-
您使用的是 MySQL 还是 Postgresql?不要标记未涉及的产品。
-
我正在使用 postgresql
标签: sql postgresql nested-sets