【问题标题】:MSQL sum month values plus group concatMYSQL 合计每月值加上 group_concat
【发布时间】:2012-03-20 10:58:02
【问题描述】:

在查询方面需要帮助,以按逗号分组的月份汇总所有值

尝试:

SELECT GROUP_CONCAT( (
    SELECT SUM( price ) 
    FROM sales
    GROUP BY MONTH( date ) )
    )
FROM sales
LIMIT 0 , 30

但返回:#1242 - 子查询返回多于 1 行

group_concat 单独无济于事,因为我需要按月计算值的总和。

有什么帮助吗?谢谢

【问题讨论】:

    标签: mysql subquery sum group-concat


    【解决方案1】:

    未经测试:

    SELECT GROUP_CONCAT(a.totprice) 
    FROM (
      SELECT SUM(price) as totprice
      FROM sales
      GROUP BY MONTH(date)
    ) a;
    

    请注意,您将获得最多 12 个值,因为合并了任何不同的年份。您可能希望在子查询中添加 ORDER BY 以在结果中按定义的顺序获取月份。

    【讨论】:

    • 谢谢,但返回一个奇怪的值:[BLOB - 13 B]
    • 好的,MySQL 出于某种原因认为结果是二进制的。价格列的数据类型是什么?将第一行更改为SELECT CAST(GROUP_CONCAT(a.totprice) as CHAR),您将获得文本。
    • 谢谢,完美运行。它是浮动的,也尝试过 varchar,但是您的解决方案有效!谢谢
    • 太棒了。在正常查询中您可能不需要CAST,phpmyadmin 似乎会造成 blob 问题:stackoverflow.com/questions/2133936/…
    猜你喜欢
    • 2017-12-19
    • 2016-02-15
    • 2011-10-22
    • 2014-09-18
    • 2014-05-25
    • 2022-01-18
    • 2014-08-21
    • 1970-01-01
    • 2014-06-01
    相关资源
    最近更新 更多