【问题标题】:How do I calculate group total?如何计算团体总数?
【发布时间】:2017-05-06 20:02:46
【问题描述】:

我有一个查询,它通过连接两个表返回以下内容:

+---------------+-----------------+
| Type          |  Price          |
+---------------+-----------------+
| Music         |  19.99          |
| Music         |   3.99          |
| Music         |  21.55          |
| Toy           |  89.95          |
| Toy           |   3.99          |
+---------------+-----------------+

我的问题是如何按类型对产品进行分组,以便显示单个产品类型和每种产品类型的总价?例如:

Music | 45.53
Toy   | 93.94

等等。

【问题讨论】:

  • 如果您向我们展示了查询,这将有助于我们修改您的查询...
  • 抱歉延迟回复。查询非常混乱,并以某种复杂的方式连接三个表。无论如何,仅使用 php 即可获得所需的结果,例如显示数组中的产品类型,检查下一个产品类型是否与显示的产品类型相同;如果是这样,将价格添加到现有产品类型。否则显示新产品类型。如果它只是一个表查询,下面建议的方法将是合适的。如果仍然需要,我可以尽快发布查询。目前无法访问它

标签: mysql group-by


【解决方案1】:
SELECT type, SUM(price) FROM table_name GROUP BY (type)

【讨论】:

    【解决方案2】:
    mysql> select type, round(sum(price),2) sum from storage group by type;
    +-------+-------+
    | type  | sum   |
    +-------+-------+
    | Music | 45.53 |
    | Toy   | 93.94 |
    +-------+-------+
    2 rows in set (0.11 sec)
    

    【讨论】:

    • @Matmarbon 完全搞混了。现在修好了。
    • 尽管 -1 不是我的 :/
    【解决方案3】:

    终于明白了。

    // Get the sum
    $group = array();
    foreach($rows as $r){
      $group[$r->type] = $group[$r->Type] + $r->Price;
    }
    
    // Display
    foreach($group as $type=>$price){
      echo "Type:".$type." Price: ".$price;
    }
    

    原帖在这里:Group results in subgroups

    【讨论】:

      猜你喜欢
      • 2016-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 2017-11-26
      • 2020-01-17
      相关资源
      最近更新 更多