SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 24.05.2015 11:46:15

Кон
Участник
Зарегистрирован: 24.05.2015
Сообщений: 4

Нужна помощь в построении подзапроса.

Есть база данных в ACCESS, вот задание - Найти страны, в которых население разговаривает на самом распространенном в мире языке (по количеству человек, говорящих на языке).

Только начал изучать базы данных и запросы, и просто ступор на этом задании. До последнего не хотел просить о помощи, но сломаный мозг и вскором времени клавиатура вынудили. Буду очень благодарен за помощь.

Отредактированно Кон (24.05.2015 11:50:22)


Прикрепленные файлы:
Attachment Icon world1.rar, Размер: 142,044 байт, Скачано: 699

Неактивен

 

#2 24.05.2015 12:25:01

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Нужна помощь в построении подзапроса.

напишите здесь структуру (сижу на чужом планшете, он не открывает rar)

Неактивен

 

#3 24.05.2015 12:34:08

Кон
Участник
Зарегистрирован: 24.05.2015
Сообщений: 4

Re: Нужна помощь в построении подзапроса.

Вот скрин


Прикрепленные файлы:
Attachment Icon Capture.PNG, Размер: 13,781 байт, Скачано: 499

Неактивен

 

#4 24.05.2015 16:11:21

high_plus_plus
Участник
Зарегистрирован: 24.05.2015
Сообщений: 6

Re: Нужна помощь в построении подзапроса.

Добрый день! Если я Вас правильно понял

select * from country c
join Language l on c.Code = l.ID
WHERE l.ID = %ID_Самого_распространенного_Языка%

Неактивен

 

#5 24.05.2015 16:25:37

Кон
Участник
Зарегистрирован: 24.05.2015
Сообщений: 4

Re: Нужна помощь в построении подзапроса.

Здесь от меня требуют именно запрос с подзапросом.

Неактивен

 

#6 24.05.2015 21:12:33

high_plus_plus
Участник
Зарегистрирован: 24.05.2015
Сообщений: 6

Re: Нужна помощь в построении подзапроса.

Тогда например так

select * from country where code=(SELECT ID from Language where id='%ID_Самого_распространенного_Языка%')

Неактивен

 

#7 25.05.2015 00:59:26

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Нужна помощь в построении подзапроса.

select language, sum(population*percentage)
from country c join language l on c.code=l.code
group by 1 order by 2 desc limit 1; -- определяет самый распространенный язык. это и будет вашим подзапросом.
 

Неактивен

 

#8 25.05.2015 09:20:22

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Нужна помощь в построении подзапроса.

На 100 ещё нужно разделить. Окончательный вариант:


select c.name from country c join countrylanguage l on c.code=l.countrycode
where language=(select language
from country c join countrylanguage l on c.code=l.countrycode
group by 1 order by sum(population*percentage/100) desc limit 1);

трындят больше всего на китайском smile

Неактивен

 

#9 25.05.2015 22:52:35

Кон
Участник
Зарегистрирован: 24.05.2015
Сообщений: 4

Re: Нужна помощь в построении подзапроса.

Огромное спасибо!

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson