MYSQL 合计每月值加上 group_concat

Posted

技术标签:

【中文标题】MYSQL 合计每月值加上 group_concat【英文标题】:MSQL sum month values plus 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 单独无济于事,因为我需要按月计算值的总和。

有什么帮助吗?谢谢

【问题讨论】:

【参考方案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,但是您的解决方案有效!谢谢 太棒了。在正常查询中您可能不需要CASTphpmyadmin 似乎会造成 blob 问题:***.com/questions/2133936/…

以上是关于MYSQL 合计每月值加上 group_concat的主要内容,如果未能解决你的问题,请参考以下文章

48周岁交的社保,加医疗合计每月1200,想问问退休能开多少?

SQL语句统计每天每月每年的 数据

SQL语句统计每天每月每年的 数据

实用sql函数group_conca我知道你想group_concat和count一起用,比如不同组合的人数?

SQL语句统计每天每月每年的数据

SQL语句统计每天、每月、每年的销售总额