[英]How to return a count of a group_concat in sql?
下面的查询返回用户拥有的所有不同订阅。 在另一列中,我想返回给定订阅发生多少次的计数。 有什么建议吗?
我尝试包括
COUNT(GROUP_CONCAT(subscription_plan_id))
但这不起作用。
SELECT GROUP_CONCAT(subscription_plan_id)
FROM
subscriptions
WHERE
created_at BETWEEN '2014-01-01' AND '2014-01-31'
GROUP BY
user_id
HAVING
COUNT(subscription_plan_id) > 1
所需的输出:
group_concat...count
1,2,3...2
2,3...5
只需将count()
放入select
:
SELECT GROUP_CONCAT(subscription_plan_id), COUNT(subscription_plan_id) as NumSubs
FROM subscriptions
WHERE created_at BETWEEN '2014-01-01' AND '2014-01-31'
GROUP BY user_id
HAVING COUNT(subscription_plan_id) > 1;
添加count
和Group by subscription_plan_id
SELECT GROUP_CONCAT(subscription_plan_id),COUNT(subscription_plan_id)作为NumSubs来自在“ 2014-01-01”和“ 2014-01-31”之间创建的订阅中的NumSubs subscription_plan_id GROUP BY拥有COUNT(subscription_plan_id)> 1;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.