Выборка по количеству

StalkerClasses

Новичок
Есть таблица стран
Есть таблица городов (здесь выбирается страна_ID).
Как выбрать страну с количеством городов = 3?
 

Yoskaldyr

"Спамер"
Партнер клуба
блин ну это же азы.....
ну хоть бы почитал какие-то книжки по sql или просто документацию
 

StalkerClasses

Новичок
Ну если для вас азы - приведите пример а не отсылку к книжкам.
То как пробовал сделать с join, count и having не дает нужного результата.
 

StalkerClasses

Новичок
Реальный запрос:
SQL:
SELECT * FROM country
INNER JOIN `city` `t2` ON `country`.`id` = `t2`.`country_id`
HAVING count(t2.id) = 3
 

AnrDaemon

Продвинутый новичок
Ну, а где у тебя подсчёт городов? Ты вообще про аггрегатные запросы читал?
 

StalkerClasses

Новичок
SQL:
SELECT country.*, COUNT(t2.id) FROM country
INNER JOIN `city` `t2` ON `country`.`id` = `t2`.`country_id`
Так у меня отоброжатся 1 строка.
 

StalkerClasses

Новичок
У меня сработал вот такой запрос:
SQL:
SELECT country.*, COUNT(city.country_id) as TT
FROM country

JOIN city ON (city.country_id=country.id)
GROUP BY (country.id)
Россия = 3
Германия = 4

Все как в БД.
 

StalkerClasses

Новичок
Код:
SELECT country.*, COUNT(j1.country_id) as TT_1, COUNT(j2.country_id) as TT_2
FROM country

JOIN city j1 ON (j1.country_id=country.id),
JOIN city j2 ON (j2.country_id=country.id)
WHERE j2.i_was_here = 1
GROUP BY (country.id)
В TT_1 по идее должно выводится кол-во городов которые есть в стране = 4 (пример).
в ТТ_2 по идее должно вывестись кол-во городов которые посещены = 1 (пример).

Но почему-то что в TT_1 что в TT_2 выводится = 1.
 

AnrDaemon

Продвинутый новичок
Зачем два раза мержить одну и ту же таблицу по одному и тому же ключу?
Вы вообще выспались сегодня?
 

AnrDaemon

Продвинутый новичок
Ответьте на мой вопрос, пожалуйста. (на первый, да)
 

StalkerClasses

Новичок
У меня есть фильтр.
В фильтре есть два поля -
1) кол-во городов в стране.
2) кол-во посещенных городов в стране.

А как по другому посчитать?
 

AnrDaemon

Продвинутый новичок
При чём тут фильтр? Как это в БД отражается?
Запрос, который у вас выше, в лучшем случае не изменит ничего, в худшем удвоит результаты.
 
Сверху