42 lines
2.2 KiB
SQL
42 lines
2.2 KiB
SQL
-- 最近七天发布的视频(抖音)。换平台把两处 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;
|