gpt4 book ai didi

MySQL COUNT where 和 COUNT all

转载 作者:行者123 更新时间:2023-11-29 13:56:20 27 4
gpt4 key购买 nike

我有一个有四列的表(销售);

id, user_id, product_id, and date_added.

我需要统计某个用户已售出的具有特定 id 的产品数量,并获取该用户当月售出的产品总数。

我无法对总产品进行求和。我有;

SELECT user_id, product_id, count(user_id) 
FROM sales
WHERE MONTH(date_added) = MONTH(CURRENT_DATE)
GROUP BY user_id, product_id;

如何对用户的总销售额求和,以便获得特定 Product_id 占总销售额的百分比?

我希望我的输出看起来像这样;

|----------|----------|----------|----------|
|user_id |product_id|sales |total |
|----------|----------|----------|----------|
|1 |4 |6 |82 |
|2 |4 |3 |121 |
|3 |4 |8 |93 |
|----------|----------|----------|----------|

其中 Total 是用户的销售总数。

(应该提到的是,我不需要 mysql 来计算百分比 - 只是为了获得所有产品销售额的总和)

谢谢

最佳答案

您必须使用子查询,因为您依赖聚合函数来进行计数

SELECT user_id, @pid:= product_id as product_id, count(user_id),
(SELECT count(*)
FROM sales
WHERE MONTH(date_added) = MONTH( now() )
AND product_id = @pid
group by user_id
) as total_product_sales
FROM sales
WHERE MONTH(date_added) = MONTH( now() )
GROUP BY user_id, product_id;

关于MySQL COUNT where 和 COUNT all,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15809403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com