我正在制作一个小型reddit克隆。有一个用于发布的表,一个用于评论的表(仅与上下文相关)和一个用于posts_comments的表。我正在尝试按照帖子的评论数对帖子进行排序。
这是posts_comments表的初始化
CREATE TABLE posts_comments (
id SERIAL PRIMARY KEY,
parent_id INTEGER,
comment_id INTEGER,
post_id INTEGER
)
这是我打的电话,但似乎不正确
SELECT * FROM posts p
JOIN posts_comments pc ON p.id = pc.post_id
ORDER BY (SELECT COUNT(*) FROM pc WHERE pc.post_id = p.id) DESC
LIMIT $1
OFFSET $2
我希望输出为帖子列表,并按链接到该帖子的评论数进行排序
答案 0 :(得分:1)
也许是这样的:
"ReferenceError: sourcemaps is not defined"
您只需要帖子列表而不是评论。
SELECT
COUNT(pc.post_id) OVER (PARTITION BY p.id) AS num_comments
,* FROM posts p
LEFT OUTER JOIN posts_comments pc ON p.id = pc.post_id
ORDER BY 1 DESC
LIMIT $1
OFFSET $2