【问题标题】:SQL Counting sums of rowsSQL 计算行的总和
【发布时间】:2011-02-28 03:31:34
【问题描述】:

我有 2 张桌子。

表 1:水果 id (int, autoincreasing, 主键) 其他一些垃圾

表 2:客户 有一个“fruit”列,该列包含水果表中的 id。

我想查询所有客户,并列出所有水果 ID 和使用次数。

所以这个设置: 水果有

id    name
1     orange
2     banana
3     apple

客户有 6 行,例如:

id   fruit
1     1
2     1
3     2
4     2
5     2
6     3

试图写一个查询,会给我:

fruit id     purchase count
1                  2
2                  4
3                  1

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    试试这个

    SELECT f.id as fruit_id, COUNT(1) AS purchase_count
      FROM FRUITS f LEFT JOIN CUSTOMERS c
        ON F.ID = c.fruit
    GROUP BY f.id
    

    【讨论】:

    • 是的............现在我需要解开这个水果废话,记住它如何适用于我的问题
    【解决方案2】:

    应该只是一个简单的聚合...

    SELECT fruit_id, COUNT(fruit_id) AS purchase_count
    FROM customers
    GROUP BY fruit_id
    ORDER BY fruit_id ASC;
    

    【讨论】:

      【解决方案3】:

      未经测试

      SELECT id, SUM(fruit) as "fruit id", "purchase count"
      FROM Customers
      GROUP BY id;
      

      【讨论】:

        猜你喜欢
        • 2023-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-08-24
        • 2016-04-09
        • 1970-01-01
        • 2015-02-09
        • 1970-01-01
        相关资源
        最近更新 更多