充值排行sql优化

This commit is contained in:
haoqiyue 2023-03-09 16:34:21 +08:00
parent 72fa3d1204
commit 3d2abb6e14

View File

@ -839,6 +839,23 @@ addHours("#event_time", 8) >= '{stat_date}' AND addHours("#event_time", 8) <= '{
`#event_name` = 'create_account' and is_new_device = 1) b on a.`#distinct_id`= b.`#distinct_id` and a.date = b.date
GROUP BY toDate(addHours("#event_time", 8))"""
# 排行榜前100名提取优化处理
if event_name_display == '充值排行':
game = self.game
# 截取原始sql中动态条件部分
aaa = r'WHERE(.*?)GROUP'
bbb = re.findall(aaa, str(sql))
dt_where = bbb[0]
sql = f"""
SELECT toDate(addHours({game}.event."#event_time", 8)) AS date,{game}.event."#account_id",
round(sum(if({game}.event."#event_name" = 'pay', {game}.event."unitPrice", 0)) / 100,2) AS values
FROM {game}.event
WHERE {dt_where} and {game}.event.`#account_id` in (
SELECT {game}.event."#account_id"
FROM {game}.event
WHERE {dt_where} GROUP BY {game}.event."#account_id"
ORDER BY round(sum(if({game}.event."#event_name" = 'pay', {game}.event."unitPrice", 0)) / 100,2) AS values desc LIMIT 100)
GROUP BY toDate(addHours({game}.event."#event_time", 8)),{game}.event."#account_id" ORDER BY date LIMIT 100000"""
sqls.append({'sql': sql,
'group_label': self.group_label,
'groupby': [i.key for i in self.groupby],