繁体   English   中英

如何在SQL中返回一个group_concat的计数?

[英]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;

添加countGroup 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM