This commit is contained in:
wuaho 2021-07-30 19:20:09 +08:00
parent ad00470810
commit 33ecc95fca

View File

@ -75,6 +75,11 @@ class XAnalysis:
elif comparator == '!=':
where.append(col != ftv[0])
elif comparator == 'not like':
where.append(col.notlike(f'%{ftv[0]}%'))
elif comparator == 'like':
where.append(col.like(f'%{ftv[0]}%'))
return where
@ -99,10 +104,15 @@ class XAnalysis:
sa.Column('date') > self.event_view['startTime'].split(' ')[0],
sa.Column('date') <= self.event_view['endTime'].split(' ')[0]
]
where_ext = self.handler_filts()
qry = sa.select().where(*where, *where_ext)
qry = sa.select().where(*where)
sql = str(qry.compile(compile_kwargs={"literal_binds": True}))
where_str = sql.split('WHERE ')[1]
where_order = self.handler_filts()
qry = sa.select().where(*where_order)
sql = str(qry.compile(compile_kwargs={"literal_binds": True}))
where_order_str = sql.split('WHERE ')[1]
sql = f"""SELECT toString(reg.date) as date,
cnt1,
{select_ltv_str}
@ -120,7 +130,7 @@ class XAnalysis:
and {where_str}) as a
left join (select `{quota}`, unitPrice/100 as money, toDate(addHours(`#event_time`, `#zone_offset`)) as date
from {self.game}.event
where `#event_name` = 'pay') b
where `#event_name` = 'pay' and {where_order_str}) b
on a.`{quota}` = b.`{quota}`
group by a.date) log on reg.date = log.date
order by date