特殊处理的sql加条件
This commit is contained in:
parent
d8a5735cea
commit
d02b25e5c0
@ -763,6 +763,20 @@ class BehaviorAnalysis:
|
||||
stat_date = self.start_date
|
||||
end_date = self.end_date
|
||||
game = self.game
|
||||
if len(event_filter) > 0:
|
||||
where_fil = str(and_(*event_filter, *base_where).compile(compile_kwargs={"literal_binds": True}))
|
||||
sql = f"""
|
||||
select aa.date as date,round((a/b)*100,2) as values from
|
||||
(select toDate(addHours({game}.event."#event_time", 8)) AS date,uniqCombined(if({game}.event."#event_name" = 'pay', {game}.event."#account_id", NULL)) as a from {game}.event
|
||||
WHERE {where_fil}
|
||||
AND {game}.event."#event_name"='pay' and orderid NOT LIKE '%GM%' GROUP BY toDate(addHours({game}.event."#event_time", 8))) as aa
|
||||
LEFT join
|
||||
(SELECT toDate(addHours({game}.event."#event_time", 8)) AS date, round(uniqExact({game}.event."#account_id"), 2) AS b
|
||||
FROM {game}.event
|
||||
WHERE {where_fil}
|
||||
GROUP BY toDate(addHours({game}.event."#event_time", 8))) as bb on aa.date = bb.date ORDER by date
|
||||
"""
|
||||
else:
|
||||
sql = f"""
|
||||
select aa.date as date,round((a/b)*100,2) as values from
|
||||
(select toDate(addHours({game}.event."#event_time", 8)) AS date,uniqCombined(if({game}.event."#event_name" = 'pay', {game}.event."#account_id", NULL)) as a from {game}.event
|
||||
@ -779,11 +793,20 @@ GROUP BY toDate(addHours({game}.event."#event_time", 8))) as bb on aa.date = bb.
|
||||
stat_date = self.start_date
|
||||
end_date = self.end_date
|
||||
game = self.game
|
||||
if len(event_filter) > 0:
|
||||
where_fil = str(and_(*event_filter, *base_where).compile(compile_kwargs={"literal_binds": True}))
|
||||
sql = f"""
|
||||
select toDate(addHours({game}.event."#event_time", 8)) AS date,round((uniqCombined(if({game}.event."#event_name" = 'pay',{game}.event.`#distinct_id`,NULL)) / uniqCombined(if({game}.event."#event_name" = 'login',{game}.event."#distinct_id",NULL))) * 100,2) AS values
|
||||
FROM {game}.event
|
||||
WHERE addHours({game}.event."#event_time", 8) >= '{stat_date}'
|
||||
AND addHours({game}.event."#event_time", 8) <= '{end_date}'
|
||||
WHERE {where_fil}
|
||||
AND {game}.event."#event_name" IN ('pay', 'login')
|
||||
GROUP BY toDate(addHours({game}.event."#event_time", 8)) ORDER BY date LIMIT 100000
|
||||
"""
|
||||
else:
|
||||
sql = f"""
|
||||
select toDate(addHours({game}.event."#event_time", 8)) AS date,round((uniqCombined(if({game}.event."#event_name" = 'pay',{game}.event.`#distinct_id`,NULL)) / uniqCombined(if({game}.event."#event_name" = 'login',{game}.event."#distinct_id",NULL))) * 100,2) AS values
|
||||
FROM {game}.event
|
||||
WHERE addHours({game}.event."#event_time", 8) >= '{stat_date}' AND addHours({game}.event."#event_time", 8) <= '{end_date}'
|
||||
AND {game}.event."#event_name" IN ('pay', 'login')
|
||||
GROUP BY toDate(addHours({game}.event."#event_time", 8)) ORDER BY date LIMIT 100000
|
||||
"""
|
||||
|
Loading…
Reference in New Issue
Block a user