SQL 以下面的格式打印结果
SQL to print the result in below format
我有一个使用 AWS Athena 的应用程序。我有 2 tables 即。事件和 event_transactions。事件 table 包含事件信息,event_transactions 包含单个事件,并且有一列 event_date 表示事件发生的日期。
我需要计算每个事件在过去 1 个月间隔、过去 1 周间隔和从今天开始的最后 1 天的事件计数。
格式:
event_name, daily_count, weekly_count, monthly_count
我需要在同一行中显示每个事件的所有 3 个计数。
要计算 weekly_count 我使用以下查询:
select event_name, count(*) as weekly_count from event_transactions where event_name in ('ABC','XYZ')
and (event_date >= CAST(current_date - interval '7' day as varchar)) AND (event_date <= CAST(current_date - interval '1' day as varchar))
group by 1
输出:
event_name. weekly_count
ABC. 23
XYZ. 14
请帮忙写一个SQL,它将在一行中打印所有 3 个计数。
使用count_if
。沿着这条线:
select event_name,
count_if(event_date >= CAST(current_date - interval '7' day as varchar) AND event_date <= CAST(current_date - interval '1' day as varchar)) as weekly_count ,
... -- rest of the counts
from event_transactions
where event_name in ('ABC','XYZ')
group by 1
此外,我建议查看 between
range operator and using date_parse
on event_date
是否具有一致格式的数据。
我有一个使用 AWS Athena 的应用程序。我有 2 tables 即。事件和 event_transactions。事件 table 包含事件信息,event_transactions 包含单个事件,并且有一列 event_date 表示事件发生的日期。
我需要计算每个事件在过去 1 个月间隔、过去 1 周间隔和从今天开始的最后 1 天的事件计数。
格式:
event_name, daily_count, weekly_count, monthly_count
我需要在同一行中显示每个事件的所有 3 个计数。
要计算 weekly_count 我使用以下查询:
select event_name, count(*) as weekly_count from event_transactions where event_name in ('ABC','XYZ')
and (event_date >= CAST(current_date - interval '7' day as varchar)) AND (event_date <= CAST(current_date - interval '1' day as varchar))
group by 1
输出:
event_name. weekly_count
ABC. 23
XYZ. 14
请帮忙写一个SQL,它将在一行中打印所有 3 个计数。
使用count_if
。沿着这条线:
select event_name,
count_if(event_date >= CAST(current_date - interval '7' day as varchar) AND event_date <= CAST(current_date - interval '1' day as varchar)) as weekly_count ,
... -- rest of the counts
from event_transactions
where event_name in ('ABC','XYZ')
group by 1
此外,我建议查看 between
range operator and using date_parse
on event_date
是否具有一致格式的数据。