2014-12-12 3 views
0

У меня есть выход, например, как показано нижеOracle SQL Query Tuning для вывода

select City, Gender, count(*) from tablename group by City, Gender ; 

City  Gender count(*) 
Chennai Male  640000 
Chennai Female 623000 
Blore  Male  500000 
Blore  Female 600000 
Pune  Male  700000 
Pune  Female 700000 

Но я ищу получать тот же результат, как, как показано ниже

City   Male   Female 
Chennai  640000  623000 
Blore   500000  600000 
Pune   700000  700000 

Цените вашу помощь.

Благодаря

+0

Возможно, попробуйте использовать подзапрос? Это может быть неэффективно для многих городов, но для специальных запросов будет нормально. – robertw

ответ

2

Вам необходимо условное sum для этого

select 
City, 
sum(case when Gender = 'Male' then 1 else 0 end) as Male, 
sum(case when Gender = 'Female' then 1 else 0 end) as Female 
from tablename group by City 
0

Вот это короткий код

выберите город, сумма (мужчина), сумма (женщина) из TABLENAME группы по городу;