From 82022231d1e58ae5f6fdf53825e279a740c8c8bf Mon Sep 17 00:00:00 2001 From: alikia2x Date: Wed, 8 Oct 2025 05:33:11 +0800 Subject: [PATCH] improve: range of the milestone candidates --- packages/crawler/db/snapshot.ts | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/crawler/db/snapshot.ts b/packages/crawler/db/snapshot.ts index 1241be0..b528baf 100644 --- a/packages/crawler/db/snapshot.ts +++ b/packages/crawler/db/snapshot.ts @@ -5,19 +5,24 @@ import type { Psql } from "@core/db/psql.d"; export async function getVideosNearMilestone(sql: Psql) { const queryResult = await sql` SELECT ls.* - FROM latest_video_snapshot ls - RIGHT JOIN songs ON songs.aid = ls.aid - WHERE - (views >= 50000 AND views < 100000) OR - (views >= 900000 AND views < 1000000) OR - (views >= CEIL(views::float/1000000::float)*1000000-100000 AND views < CEIL(views::float/1000000::float)*1000000) - UNION - SELECT ls.* - FROM latest_video_snapshot ls - WHERE - (views >= 90000 AND views < 100000) OR - (views >= 900000 AND views < 1000000) OR - (views >= CEIL(views::float/1000000::float)*1000000-100000 AND views < CEIL(views::float/1000000::float)*1000000) + FROM latest_video_snapshot ls + RIGHT JOIN songs ON songs.aid = ls.aid + WHERE + (views >= 60000 AND views < 100000) OR + (views >= 900000 AND views < 1000000) OR + views > 1000000 + UNION + SELECT ls.* + FROM latest_video_snapshot ls + WHERE + (views >= 90000 AND views < 100000) OR + (views >= 900000 AND views < 1000000) OR + (views >= CEIL(views::float/1000000::float)*1000000-100000 AND views < CEIL(views::float/1000000::float)*1000000) + UNION + SELECT ls.* + FROM latest_video_snapshot ls + JOIN eta ON eta.aid = ls.aid + WHERE eta.eta < 2300 `; return queryResult.map((row) => { return {