select decode(type_id, null, 'Unknown', type_id), name, count(*)
from
(
select 'asdf' type_id, 'name1' name from dual union all
select 'asdf' type_id, 'name2' name from dual union all
select null type_id, 'name3' name from dual
) test_table
group by type_id,name;
Я согласен с @sql_mommy, что CASE
, вероятно, будет выглядеть лучше.Но я не согласен с использованием TechOnTheNet в качестве основного источника информации.Обычно вам лучше с официальной документацией, и страница для DECODE является хорошим примером того, почему.
DECODE
ведет себя странно: «В функции DECODE Oracle считает, чтодва нуля, чтобы быть эквивалентными. "Такое поведение не упоминается в статье TechOnTheNet.