@vanillathunder

Как написать запрос на получение N самых населенных городов?

В БД (MySQL) есть 2 таблицы для хранения городов и проживающих в них пользователей:
city(id, name);
user(id, name, city_id);

Напишите SQL-запрос, который вернет не более N самых населенных городов c названием и количеством пользователей. Список должен содержать только города, количество пользователей в которых не меньше чем M. Список должен быть упорядочен по количеству пользователей по убыванию, начиная с самого населенного города. Если в нескольких городах проживает одинаковое количество пользователей, такие города в выборке должны быть упорядочены по алфавиту.
  • Вопрос задан
  • 930 просмотров
Пригласить эксперта
Ответы на вопрос 3
alex-1917
@alex-1917
Если ответ помог, отметь решением
Во-первых, скопировано с методички не полностью))) Еще должна быть таблица или колонка в таблице, где собственно сами данные о количестве населения)))
Во-вторых, автор, коли ваше задание звучит так:
....Напишите SQL-запрос, который вернет не более.....

то вот мой ответ и решение вопроса:
пришлите мне 10000р на яндекс-кошель
UPD. О, прислал, спасибо! Щас набросаю от руки)))
Первая часть:
SELECT * FROM city, user WHERE (тут будет вторая часть кода) LIMIT $n
Ответ написан
Maksclub
@Maksclub
maksfedorov.ru
Просто по аналогии + добавьте сортировку и лимит:
www.sql.ru/forum/749635/podskazhite-s-count-v-svya...

А вообще изучите возможности Гугла -- помогает,
пока вы веб-программист -- это означает, что есть поисковики-гиганты и есть интернет

UPD: и да, такие вопросы лучше не делать под "ищу работу"
Ответ написан
Комментировать
@tgnwest
Что-то вроде этого

SELECT city.name city_name, COUNT(user.id) users FROM city LEFT JOIN user ON city.id = user.city_id GROUP BY city.name HAVING users >= M ORDER BY users DESC, city_name ASC LIMIT N
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы