Что вы хотите сделать не так просто. GROUP_CONCAT()
не работает.
Мой совет, забудьте о GROUP_CONCAT()
. База данных предназначена для хранения и получения данных, а не для ее форматирования. Это делается на уровне презентации или на уровне приложения.
Таким образом, вместо
SELECT room, course, teacher, count(*), group_concat(country)
FROM your_table
GROUP BY room, course, teacher;
сделать это:
SELECT room, course, teacher, country, count(*)
FROM your_table
GROUP BY room, course, teacher, country;
вы получите что-то вроде этого, вместо:
Room A Course A Teacher A ES 2
Room A Course A Teacher A MX 1
Room A Course A Teacher A IT 1
Room A Course A Teacher A JP 1
Room B ...
...
Затем сложите рассчитывает на прикладном уровне. Или вы могли бы сделать
SELECT room, course, teacher, country, count(*)
FROM your_table
GROUP BY room, course, teacher, country
WITH ROLLUP;
Тогда вы получите это:
Room A Course A Teacher A ES 2
Room A Course A Teacher A MX 1
Room A Course A Teacher A IT 1
Room A Course A Teacher A JP 1
NULL NULL NULL NULL 5
Room B ...
...
[Если можно создать живой пример] (http://stackoverflow.com/help/how-to-ask) .. проблемы, с которой вы можете ссылаться (например, на http://sqlfiddle.com/ или http://jsbin.com/), тогда сделайте это - но также включите код в свой вопрос. Не каждый может получить доступ к внешним сайтам, и ссылки могут сломаться с течением времени. – GolezTrol
добавлен код как предложено – peterpeterson