0
Я использую world db (http://dev.mysql.com/doc/index-other.html). Я бы хотел получить следующие столбцы: название города - население - название страны - список всех языков, используемых в стране - количество языков, используемых в стране - континенте.SQL group_CONCAT
Это мой запрос:
SELECT city.NAME AS city_name,
city.Population,
country.NAME,
Group_concat(DISTINCT countrylanguage.language) AS language,
Count(DISTINCT countrylanguage.language) AS lang_nr,
country.Continent
FROM city
INNER JOIN country
ON city.CountryCode = country.Code
INNER JOIN countrylanguage
ON Country.Code = countrylanguage.CountryCode
GROUP BY city.NAME
ORDER BY lang_nr DESC;
Но в результате я получаю разное количество языков для одной страны. Зачем?
Включите country.NAME в GROUP BY? – jarlh
@jarlh, я пробовал, но затем запрос возвращает 239 строк - это число стран (около 4000 городов), потому что (как я считаю) запрос возвращает каждую страну только один раз. Фактически в этой ситуации языки прекрасны, но не все города перечислены. –
С обоими country.NAME и city.name? – jarlh