2015-02-13 3 views
-6

На самом деле у меня есть таблица в настоящее время:Как подсчитать количество строк, соответствующих определенным значениям?

[Person Table]: 
ID Name age  City 
==================================== 

1 Jack 14 New York 
2 Mike 15 LA 
3 Ben  16 Beijing 
?   
100 Lee  32 Singapore 

(total record = 100) 
(Id is Primary Key) 

Просьба предоставить сценарий SQL для запроса клиента, что происходит его/ее город в таблице больше или равна 6.

Пример:

The number of customer that live in New York is 10 
The number of customer that live in LA=5 
The number of customer that live in Beijing=6. 

Итак, в этом примере вывод должен быть всем клиентом, который живет только в Нью-Йорке и Пекине.

+0

Используйте 'COUNT (*) и' GROUP BY', чтобы получить количество людей в каждом городе. – Barmar

+0

Вы уже пробовали какие-либо вопросы для себя? –

+0

Я пробовал, но, возможно, что-то не так. выберите * from Person, где (выберите count (*) из группы Person по городу)> 6 – Roger

ответ

1

Что-то, как это должно работать:

select * from customers 
    join (select city from customers group by city having count(*) >= 6) 
    as city_count 
    on customers.city = city_count.city; 

Все, что вы делаете, это создает список городов, которые имеют шесть или больше клиентов, а затем с помощью, чтобы отфильтровать исходную таблицу клиентов.

Link to SQL Fiddle - using 2 as the threshold

Смежные вопросы