-- 最近七天发布的视频(抖音)。换平台把两处 platform='dy' 改成 'xhs'。 -- -- 窗口按 **published_at(作者发布时间)** 算,不经过时区:库里存的是毫秒时间戳, -- 用 UNIX_TIMESTAMP() 拿当前 epoch 相减,和 MySQL 的 time_zone 设置无关。 -- -- 改成「最近七天我们采到的」就把 n.published_at 换成 n.first_seen_at(两处)。 SELECT COALESCE(st.nickname, n.creator_name, '') AS 博主昵称, ca.alias AS 博主备注, FROM_UNIXTIME(n.published_at / 1000) AS 发布时间, n.title AS 标题, n.note_url AS 链接, m.liked_count AS 点赞, m.comment_count AS 评论, m.collected_count AS 收藏, m.share_count AS 分享, (SELECT GROUP_CONCAT(t.name ORDER BY t.sort_order SEPARATOR ' / ') FROM monitor_note_tag nt JOIN monitor_tag t ON t.id = nt.tag_id WHERE nt.platform = 'dy' AND nt.note_id = n.note_id) AS 标签, (SELECT na.alias FROM monitor_note_alias na WHERE na.platform = 'dy' AND na.note_id = n.note_id LIMIT 1) AS 作品备注, FROM_UNIXTIME(n.first_seen_at / 1000) AS 首次采到 FROM monitor_note n JOIN monitor_task t ON t.id = n.task_id -- 这条作品最近一轮的指标 LEFT JOIN monitor_note_metric m ON m.id = (SELECT m2.id FROM monitor_note_metric m2 WHERE m2.task_id = n.task_id AND m2.note_id = n.note_id ORDER BY m2.run_id DESC LIMIT 1) -- 博主最近一轮的账号级指标(昵称优先取这个,它每轮都从资料接口重写) LEFT JOIN monitor_creator_stat st ON st.id = (SELECT s.id FROM monitor_creator_stat s JOIN monitor_task t2 ON t2.id = s.task_id WHERE t2.platform = 'dy' AND s.creator_hash = n.creator_hash ORDER BY s.captured_at DESC, s.id DESC LIMIT 1) LEFT JOIN monitor_creator_alias ca ON ca.platform = 'dy' AND ca.creator_hash = n.creator_hash WHERE t.platform = 'dy' AND n.published_at >= (UNIX_TIMESTAMP() - 7 * 86400) * 1000 ORDER BY n.published_at DESC;