Как составить такой запрос

avgaz

Участник
Регистрация
18 Окт 2006
Сообщения
189
Реакции
7
В базе Mysql имеются 2 таблицы
Первая таблица Регионы
Вторая таблица данных пользователей в которой хранятся id регионов которые они выбрали
Вопрос как составить запрос на вывод только тех регионов которые выбирали пользователи с учетом того что к примеру 10 пользователей могли выбрать одинаковый регион, а этот регион должен вывестись один раз а не 10?
 
SELECT * FROM REGIONS
WHERE ID IN (SELECT DISTINCT(REGION_ID) FROM USERS)
 
Спасибо то что нужно, если не затруднит не подскажите как ещё вывести число выбравших этот регион, то есть у меня вывелся список регионов которые выберали как писал выше кто к примеру пользователи выберали регион 10 другой два раза как вывести число это около региона.
 
Спасибо то что нужно, если не затруднит не подскажите как ещё вывести число выбравших этот регион, то есть у меня вывелся список регионов которые выберали как писал выше кто к примеру пользователи выберали регион 10 другой два раза как вывести число это около региона.
примерно так
SELECT COUNT(*), Region_Id FROM USERS
GROUP BY Region_Id
 
вложенные подзапросы зло.
select region.id, region.otherdata, count(user.id) as count_user
from region
inner join user on user.id_region=region.id
group by region.id
 
Назад
Сверху