首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有人发现一种(简单的)方法来限制group_concat行?

有没有人发现一种(简单的)方法来限制group_concat行?
EN

Stack Overflow用户
提问于 2011-05-25 03:31:44
回答 1查看 1.8K关注 0票数 3

我有一个相当大的查询来提取每个国家的报告信息,现在,我可以限制这一点的唯一方法是在末尾加上Limit 10或某个数字,这将限制国家。但是,我想要做的是将每个国家/地区的group_concat结果限制为10个,在我的示例中,以某种方式将单词group_concat的每个实例限制为10个。

我当前的查询是:

代码语言:javascript
复制
SELECT country,
GROUP_CONCAT(docID),
GROUP_CONCAT(analyst),
GROUP_CONCAT(region),
GROUP_CONCAT(report),
GROUP_CONCAT(topic),
MAX((date)) AS date,
MAX((docID)) AS docID,
GROUP_CONCAT(date) AS dates,
GROUP_CONCAT(event) AS events,
GROUP_CONCAT(province) AS provinces
FROM reports GROUP BY country 
ORDER BY date DESC, docID DESC

我已经看到这个问题被问到了,但我没有看到任何真正好的答案。我知道这个函数没有内置到MySQL中,因为您只能根据字符进行限制。以前有人解决过这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2012-11-27 21:55:55

下面是我用来限制每个用户发帖的一个例子

代码语言:javascript
复制
select user_id,SUBSTRING_INDEX(group_concat(posts.id order by rand()),',',3) from posts inner join users on users.id = posts.user_id group by posts.user_id;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6115821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档