2016-12-20 2 views
-4

Это моя таблица с некоторыми данными выборки:и группа BY с NULL значениями

City  Supplier Month 
------------------------- 
Bangalore 0  NULL 
Chennai  0  NULL 
Chennai  2  11 
Chennai  1  10 

Я пытаюсь получить результат как

City  Supplier Month 
--------------------------- 
Bangalore 0  NULL 
Chennai  2  11 
Chennai  1  10 

Я пытаюсь взять для каждый город только строки, где Месяц не NULL, если это единственная строка, а затем я действительно хочу.

Я пробовал различные функции GROUP BY и COALESCE, но ничего не работает. Может ли кто-нибудь помочь мне?

ответ

1

Я держу пари на этом

select  City,Supplier,Month 

from  (select  City,Supplier,Month 
         ,count(*) over (partition by City) as cnt 

      from  t 
      ) t 

where  Month is not null 
     or cnt = 1 
Смежные вопросы