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,但是您的解决方案有效!谢谢
太棒了。在正常查询中您可能不需要CAST
,phpmyadmin 似乎会造成 blob 问题:***.com/questions/2133936/…以上是关于MYSQL 合计每月值加上 group_concat的主要内容,如果未能解决你的问题,请参考以下文章
48周岁交的社保,加医疗合计每月1200,想问问退休能开多少?