Привет всем. Мне нужно вывести из бд список городов, а рядом количество зарегистрированных пользователей из каждого города. это можно сделать одним запросом?
Такой запрос выводит города:
SELECT id, name FROM cities ORDER BY id
А этим запросом мы посчитаем количество пользователей в нужном городе:
SELECT COUNT(*) FROM users WHERE city_id=$id //$id - id текущего города
Пробовал объединить так, не получается:
SELECT cities.id, cities.name, COUNT(users.*) as count FROM cities
LEFT JOIN users ON cities.id=users.city_id
Так вообще возможно или я фигню написал, надо двумя запросами?
Как то так:
SELECT COUNT(*), cid, cname FROM
(SELECT c.id AS cid, c.name AS cname, u.id AS uid FROM cities c
LEFT JOIN users u ON c.id=u.city_id) newtable
GROUP BY cid, cname
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости