【问题标题】:I want only who purchased 2 times or more in Month only that customer name我只想要那个月购买 2 次或更多的客户名称
【发布时间】:2022-01-04 06:25:45
【问题描述】:
User_ID      Product_id     Date           Quantity
U1            10            16-11-2021       2
U2            20            16-11-2021       1
U3            30            17-11-2021       4
U1            40            18-11-2021       2
U4            10            19-11-2021       1
U2            30            20-11-2021      10

【问题讨论】:

  • 请通过包含您当前的查询来展示一些努力。
  • WHERE + GROUP BY + HAVING + COUNT
  • MySQL 还是 Oracle?这是两个非常不同的 DBMS 产品

标签: mysql oracle


【解决方案1】:

您的表没有客户名称,因此无法满足要求。

假设您确实有一个带有 name 列的 customers 表(您没有提到),那么您需要:

  1. JOIN 购买和 customers 表一起了解它们的主/外键关系。
  2. GROUP BY Date 列被截断为月初和客户的主键,因此您每个月都有每个客户的分组集。
  3. 过滤组以仅查找行数大于或等于 2 的 HAVINGCOUNT 的组。
  4. SELECT 客户 name(通过在组内使用诸如 MAX 之类的聚合函数查找或将 name 列添加到 GROUP BY 子句)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-12
    • 2018-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多