我有一个相当大的查询来提取每个国家的报告信息,现在,我可以限制这一点的唯一方法是在末尾加上Limit 10或某个数字,这将限制国家。但是,我想要做的是将每个国家/地区的group_concat结果限制为10个,在我的示例中,以某种方式将单词group_concat的每个实例限制为10个。
我当前的查询是:
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中,因为您只能根据字符进行限制。以前有人解决过这个问题吗?
发布于 2012-11-27 21:55:55
下面是我用来限制每个用户发帖的一个例子
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;https://stackoverflow.com/questions/6115821
复制相似问题