Untitled
unknown
sql
a year ago
895 B
16
Indexable
WITH steps_recent AS (
SELECT
user_id,
SUM(CASE WHEN DATE(updated_at) < CURRENT_DATE - INTERVAL '1 day' THEN steps ELSE 0 END) AS steps_yesterday,
SUM(CASE WHEN DATE(updated_at) < CURRENT_DATE THEN steps ELSE 0 END) AS steps_today
FROM user_activities
GROUP BY user_id
),
ready_to_earn_users AS (
SELECT
user_id
FROM
steps_recent
WHERE
steps_yesterday < 10000
AND steps_today > 10000
),
partners AS (
SELECT
bu."ID партнера 1 уровня"
FROM
ready_to_earn_users re
JOIN
users u ON re.user_id = u.uuid
JOIN
bot_users bu ON u.tg_user_id = bu.id
),
tg_users AS (
SELECT
id
FROM
bot_users
WHERE
"Platform ID" IN (
SELECT "ID партнера 1 уровня"
FROM partners
)
)
UPDATE
users
SET
coins = coins + 20000
FROM tg_users
WHERE users.tg_user_id = tg_users.id;
Editor is loading...
Leave a Comment