Mysql 如何从用户表中获取逗号分隔的值?

Mysql 如何从用户表中获取逗号分隔的值?,mysql,Mysql,我的用户表: 我使用以下查询获得了预期结果: SELECT GROUP_CONCAT (count(user_id) SEPARATOR ',') FROM userinfo GROUP BY date(Reg_Date) 但它告诉我这个错误: 查询(1064)中出错:第1行的userinfo组按注册表日期的“分隔符”附近的语法错误 我的预期结果是1,4,1您是否试图获取每个日期的用户数,但要在一个逗号分隔的列表中 如果是,请尝试:- SELECT GROUP_CONCAT(us

我的用户表:

我使用以下查询获得了预期结果:

SELECT GROUP_CONCAT (count(user_id) SEPARATOR ',') 
   FROM userinfo 
 GROUP BY date(Reg_Date)
但它告诉我这个错误:

查询(1064)中出错:第1行的userinfo组按注册表日期的“分隔符”附近的语法错误


我的预期结果是1,4,1

您是否试图获取每个日期的用户数,但要在一个逗号分隔的列表中

如果是,请尝试:-

SELECT GROUP_CONCAT(user_count SEPARATOR ',')
FROM
(
    SELECT count(user_id) AS user_count
    FROM userinfo 
    GROUP BY date(Reg_Date)
) sub0

这只是一个输入错误,请不要在被调用函数和参数之间的查询中使用空格:

SELECT COUNT(User_id), GROUP_CONCAT(user_id SEPARATOR ',') 
FROM userinfo GROUP BY date(Reg_Date);

在这里查看:

删除
group\u concat
中的
count
确定,但我需要将用户计数为他们的注册日期,然后在查询中添加
count(*)作为
选择日期(注册日期),count(*),group\u concat(用户id)从userinfo按日期分组(注册日期)
它在查询中抛出这个错误(1630):FUNCTION radius.GROUP_CONCAT不存在。请查看参考手册中的“FUNCTION Name Parsing and Resolution”部分“您是在编写存储过程还是什么我不确定
GROUP_CONCAT
是否是mysql中的标准聚合函数是的,它正在工作,但我有一个问题,先生。为什么使用“sub0”?我不明白,如果你有时间请给我解释一下,谢谢:)这只是一个子查询(即每天的用户数)。但是像这样的子查询必须有别名。我只是倾向于使用sub0、sub1等作为子查询的别名,在这种情况下,如果没有有意义的名称,我会认为我是对的。非常感谢先生。有时候我只是感到嫉妒,为什么我不像你们这些家伙那么有知识:)再次感谢,祝你们玩得愉快:)