SELECT
p.post_id,
p.user_id,
p.post_content,
p.publish_time,
p.likes,
COUNT(DISTINCT f.followee_user_id) AS followers_count
FROM
posts p
LEFT JOIN
followers f ON p.user_id = f.user_id
WHERE
p.publish_time > NOW() - INTERVAL 7 DAY
AND p.likes > 1000
GROUP BY
p.post_id
SELECT 子句指定了要選擇的字段:帖子ID (p.post_id)、用戶ID (p.user_id)、帖子內(nèi)容 (p.post_content)、發(fā)布時間 (p.publish_time)、點贊數(shù) (p.likes) 以及發(fā)布者的關注者數(shù)量 (followers_count)。 FROM posts p 指定了主表 posts 并給它起了一個別名 p。 LEFT JOIN followers f ON p.user_id = f.user_id 表示將 posts 表與 followers 表進行左連接,連接條件是發(fā)布帖子的用戶ID等于關注表中的用戶ID。 WHERE 子句限定了帖子的發(fā)布時間在過去7天內(nèi),并且點贊數(shù)超過1000。 NOW() - INTERVAL 7 DAY 計算出當前時間之前7天的時間點。 GROUP BY p.post_id 表示按照帖子ID進行分組,這樣每個帖子只會被計算一次。 COUNT(DISTINCT f.followee_user_id) AS followers_count 計算每個發(fā)布者的關注者數(shù)量,使用 DISTINCT 確保計數(shù)的是不同的關注者。