gpt4 book ai didi

mysql - SQL 查询计算一天购买超过 4 个产品的客户总数

转载 作者:行者123 更新时间:2023-11-29 07:23:31 25 4
gpt4 key购买 nike

我想编写一个 SQL 查询来计算哪些客户在同一天购买了 4 件以上产品。

这是我的表格:

销售 (日期customer_idproduct_idunits_sold)

产品 (id名称价格)

客户 (id名称)

这是我到目前为止所拥有的:

SELECT COUNT(s.product_id) as total_customers
FROM Sales s1
WHERE DATEDIFF(s1.date, s2.date)=0
INNER JOIN Sales s2
ON s1.product_id = s2.product_id
HAVING COUNT(s.product_id) > 4;

最佳答案

如果您希望客户在同一天购买了 4 件以上产品:

SELECT DISTINCT s.customer_id
FROM Sales s
GROUP BY s.customer_id, date(s.date)
HAVING COUNT(*) > 4;

这是将 SELECT DISTINCTGROUP BY 一起使用的少数情况之一。如果您还想知道日期,请在 SELECT 中包含 date(s.date)

请注意,这假设客户在每个日期仅购买任何给定产品一次。如果客户在某个日期可以拥有单一产品的多条记录,请使用 COUNT(DISTINCT Product_id) 而不是 COUNT(*)

要获取客户总数,请使用子查询:

SELECT COUNT(*)
FROM (SELECT DISTINCT s.customer_id
FROM Sales s
GROUP BY s.customer_id, date(s.date)
HAVING COUNT(*) > 4
) c

关于mysql - SQL 查询计算一天购买超过 4 个产品的客户总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35282424/

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