查看这个sql请求:
select distinct erp.users.id
from erp.users
inner join prod.referral_order_delivered
on erp.users.id= prod.referral_order_delivered.user_id::uuid
inner join erp.orders
on erp.orders."userId"::uuid= erp.users.id
where
"paidAt"::date >= '2016-06-07'
and "paidAt"::date <= '2017-07-07'假设我得到了这样的结果:
id
2
1
4
5现在,我要计算这些in的值在表userId中以列erp.orders的值出现的次数。
例如,如果我有erp.orders.userId,即:
userId
2
2
1
4
4
5
5
5我想要把这个还回去的请求:
id number_of_id
2 2
1 1
4 2
5 3有什么想法吗?
发布于 2017-07-07 16:19:05
您需要使用count()函数和group by子句。它看起来会像:
select
erp.users.id
, count(1)
from
erp.users
inner join prod.referral_order_delivered
on erp.users.id = prod.referral_order_delivered.user_id::uuid
inner join erp.orders
on erp.orders."userId"::uuid = erp.users.id
where
"paidAt"::date >= '2016-06-07'
and "paidAt"::date <= '2017-07-07'
group by
erp.users.idhttps://stackoverflow.com/questions/44975464
复制相似问题