Мне нужно посчитать разные значения в столбце, такие как:
Hours
1
1
2
null
null
null
Результат должен быть: 3. Мой запрос:
select count(distinct hour) from hours;
но он возвращает: 2. Я также проверил:
select count(*) from hours group by hour
но он возвращает три строки:
(1) 3
(2) 2
(3) 1
Как я могу считать нулевые значения как 1 значение и использовать отличные, чтобы избежать подсчета повторных значений?
Я изучаю продвинутый SQL, мне нужны эти требования для всех решений:
Постарайтесь минимизировать количество подзапросов, необходимых для решения запроса. Кроме того, вам не разрешено использовать следующие конструкции:
- ВЫБРАТЬ В ОТ или ВЫБРАТЬ. Вам разрешено иметь подзапросы (ВЫБЕРИТЕ в ГДЕ или В НАЛИЧИИ)
- Комбинации функций агрегирования, такие как COUNT (COUNT...)), SUM (COUNT...)) и тому подобное.
- СОЮЗ, если вы можете избежать этого.
- Нестандартные функции (такие как NVL)
- ДЕЛО