考虑一个包含以下列的表USER_SITE
:
user, site, n_visits, n_purchases
其中上表为每个用户站点组合记录一行。
我想计算以下信息:
site, n_users_who_visited_the_site, n_users_who_made_purchases_on_the_site
有没有办法在SQL中执行此操作?我尝试通过操作起草一些小组而没有运气,但也许我错过了一些东西。
给定USER_SITE
的示例:
user site n_visits n_purchases
Julie foo.com 3 0
Carry bar.com 1 0
Emily foo.com 10 1
Chris zoo.com 5 3
我们得到:
site n_users_who_visited_the_site n_users_who_made_purchases_on_the_site
foo.com 2 1
bar.com 1 0
zoo.com 1 1
答案 0 :(得分:2)
以下是使用sum
与case
:
select site,
sum(case when n_visits > 0 then 1 else 0 end) n_users_who_visited,
sum(case when n_purchases > 0 then 1 else 0 end) n_users_who_made_purchases
from user_site
group by site