#mysql #sql
#mysql #sql
Вопрос:
select CountryCode,Language, floor(max(percentage)) as speakers
from countrylanguage
group by CountryCode;
Как интуитивно понятный, мне нужен язык, соответствующий максимальному проценту в таблице countrylanguage. Однако, похоже, это не работает. Что я должен изменить здесь, чтобы заставить его работать?
Дополнительная информация для вас:
desc countrylanguage;
------------- --------------- ------ ----- --------- -------
| Field | Type | Null | Key | Default | Extra |
------------- --------------- ------ ----- --------- -------
| CountryCode | char(3) | NO | PRI | | |
| Language | char(30) | NO | PRI | | |
| IsOfficial | enum('T','F') | NO | | F | |
| Percentage | float(4,1) | NO | | 0.0 | |
------------- --------------- ------ ----- --------- -------
Ответ №1:
select CountryCode, Language, floor(percentage) as speakers
from countrylanguage c
where percentage = (select max(percentage) from countrylanguage c2 where c2.countrycode = c.countrycode group by c2.countrycode)
Комментарии:
1. Это хуже, чем мой ответ. Вы получаете мне несколько строк!
2. вам нужен максимальный процент для каждой страны?
3. Да, Akshet. Мне нужен максимальный процент для каждой страны вместе с правильным языком.