计数不在组内工作\u concat Mysql
我正在尝试在组中计算id和1的计数。下面是我的问题 MYSQL:计数不在组内工作\u concat Mysql,mysql,Mysql,我正在尝试在组中计算id和1的计数。下面是我的问题 MYSQL: SELECT months.name AS NAME, CONCAT( '[', GROUP_CONCAT( CONCAT( '[\"', COUNT(p_c_n_details.JPN_ID), '\",', 1, ']' ) ), ']' ) A
SELECT
months.name AS NAME,
CONCAT(
'[',
GROUP_CONCAT(
CONCAT(
'[\"',
COUNT(p_c_n_details.JPN_ID),
'\",',
1,
']'
)
),
']'
) AS DATA
FROM
p_c_n_details
INNER JOIN in_e_s_s__p_c_ns RIGHT OUTER JOIN months ON months.id =
MONTH(p_c_n_details.created_at) AND p_c_n_details.type IN('Process Change',
'Design Change') AND p_c_n_details.JPN_ID =
in_e_s_s__p_c_ns.juniperinternalpcnid AND p_c_n_details.created_at >=
last_day(NOW()) + INTERVAL 1 DAY - INTERVAL 3 MONTH
WHERE
months.name IN(
MONTHNAME(
DATE_SUB(CURDATE(), INTERVAL 0 MONTH)),
MONTHNAME(
DATE_SUB(CURDATE(), INTERVAL 1 MONTH)),
MONTHNAME(
DATE_SUB(CURDATE(), INTERVAL 2 MONTH))
)
GROUP BY
months.id
预期产出:
Name | DATA
-------------------------
July [20,1]
August [33,1]
Table months contains month names.
但我得到了错误1111-组函数的无效使用。我试过这个链接
但是我在查询中使用时遇到了错误。这是一个猜测
尝试:
代替您现在拥有的选择
您的示例结果没有显示需要GROUP_CONCAT。GROUP_CONCAT和COUNT都是聚合函数。你不能把一个嵌套在另一个里面。如果您向我们展示一些示例输入和所需输出,我们可能会帮助您了解如何构造查询。@O.Jones Hi Jones我更新了我的问题并添加了示例输出。请查查。我不明白你是怎么得到{33,2}中的2的。我也不明白{}字符是如何来自示例查询中的[]字符的。@O.Jones我更改了它不是2,它是1默认值。谢谢Jones。你说得对,不需要组。
SELECT months.name AS NAME,
CONCAT('{',COUNT(p_c_n_details.JPN_ID),',1}' AS DATA