SELECT COUNT(*),TRUNC(TEST_DATE_CREATE)
FROM TEST_TABLE
WHERE TEST_DATE_CREATE > (SYSDATE - 10)
GROUP BY TRUNC(TEST_DATE_CREATE);
Мне нужен приведенный выше запрос, чтобы вернуть счет 0 в случае отсутствия записей для определенной даты. Это, похоже, не происходит.Нужно запросить возврат нуля, когда счетчик (*) не соответствует никаким записям.
Я попробовал NVL, расшифровал. Установлено, что проблема связана с положением group by, но не уверен, как это исправить.
Пожалуйста, помогите!
Что вы пытаетесь достичь? Ваш заголовок подсказывает, что вы хотите, чтобы count (*) возвращал NULL, а в описании проблемы упоминается, что вы хотите вернуть 0 в случае отсутствия строк. – diederikh
Возможный дубликат [Группировка записей по часам или день за днем и заполнение пробелов нулем или нулем] (http://stackoverflow.com/questions/10798905/grouping-records-hour-by-hour-or-day-by -для и заполнения-пробелов-с-нулем или-null) –
Возможный дубликат [SQL trunc/group/order by date (день/месяц/квартал/год) с датой пропусков суммы без данных] (http: //stackoverflow.com/questions/14231374/sql-trunc-group-order-by-dates-day-month-quarter-year-with-sum-skip-dates-with) – Ben