I have a pretty big query to pull out the information about reports from each country, and right now, the only way I can limit this is by putting Limit 10
or some number at the end, which will limit the countries. However, what I want to do is limit the group_concat
to 10 results per country, which in my case would be somehow limiting 10 to each instance of the word group_concat
.
My current query is:
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
I have seen this question asked, and I haven't seen any really good answers. I know the function is not built into MySQL, as you can only limit based on the characters. Has anybody solved this problem before?