下面的查询返回用户拥有的所有不同订阅。在另一列中,我想返回给定订阅发生的次数。关于如何做到这一点有什么建议吗?
我试过包括
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;
关于mysql - 如何在 sql 中返回 group_concat 的计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23433448/