通过id sql计算属性的比率

问题描述 投票:0回答:3

首先,这是我的表架构:

order_id, product_id, add_to_cart_order, reordered

我的问题是计算产品的重新订购率。因此,我们可以看到“ add_to_cart_order”没有用,我不知道“ order_id”。 “重新排序”的值可以为“ 1”和“ 0”。

目前,我可以通过product_id来获得“ reordored”的计数]

SELECT product_id, COUNT(reordered) from train where reordered = '1' GROUP BY product_id;

以及带有]的产品的出现次数>

SELECT product_id, COUNT(*) from train GROUP BY product_id;

我尝试过

SELECT t1.product_id, COUNT(t1.product_id)/
        (select COUNT(reordered) from train t2 
                    where t2.reordered = '1' and t1.product_id=t2.product_id GROUP BY product_id) 
from train t1 group by t1.product_id;

但是需要花费很多时间(我不知道这是否是正确的请求,因为我还没有结果)

首先,这是我的表模式:order_id,product_id,add_to_cart_order,重新排序我的问题是计算产品的重新排序率。因此,我们可以看到“ add_to_cart_order”是没有用的,我不是...

sql id rate
3个回答
0
投票

这将为每个product_id计算:火车cnt_prod中的行数火车cnt_prod_reorder中重新排序的行数

SELECT t1.product_id, COUNT(t1.product_id) as cnt_prd,
                      COUNT(case when t.1.reordered='1' then  1 else NULL end ) as cnt_prd_reord 
from train t1 group by t1.product_id;

0
投票

尝试这种优雅


0
投票

这是您要寻找的吗?

© www.soinside.com 2019 - 2024. All rights reserved.