🚑 修复数据迁移SQL (#1969)

* perf(zhenxun): 优化签到和道具 SQL 查询语句

- 改为通用SQL

* style(zhenxun): 优化签到 SQL 查询格式

- 调整 SQL 查询的缩进和格式,提高可读性
- 没有修改实际的查询逻辑,仅优化代码结构

---------

Co-authored-by: HibiKier <45528451+HibiKier@users.noreply.github.com>
This commit is contained in:
molanp 2025-07-14 23:20:13 +08:00 committed by GitHub
parent 582ad8c996
commit faa91b8bd4
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -50,22 +50,31 @@ async def _(bot: Bot):
SIGN_SQL = """
select distinct on("user_id") t1.user_id, t1.checkin_count, t1.add_probability,
t1.specify_probability, t1.impression
from public.sign_group_users t1
join (
select user_id, max(t2.impression) as max_impression
from public.sign_group_users t2
group by user_id
) t on t.user_id = t1.user_id and t.max_impression = t1.impression
SELECT user_id, checkin_count, add_probability, specify_probability, impression
FROM (
SELECT
t1.user_id,
t1.checkin_count,
t1.add_probability,
t1.specify_probability,
t1.impression,
ROW_NUMBER() OVER(PARTITION BY t1.user_id ORDER BY t1.impression DESC) AS rn
FROM sign_group_users t1
INNER JOIN (
SELECT user_id, MAX(impression) AS max_impression
FROM sign_group_users
GROUP BY user_id
) t2 ON t2.user_id = t1.user_id AND t2.max_impression = t1.impression
) t
WHERE rn = 1
"""
BAG_SQL = """
select t1.user_id, t1.gold, t1.property
from public.bag_users t1
from bag_users t1
join (
select user_id, max(t2.gold) as max_gold
from public.bag_users t2
from bag_users t2
group by user_id
) t on t.user_id = t1.user_id and t.max_gold = t1.gold
"""