Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle SQL - max() с NULL стойности

max(end_dt) keep (dense_rank първи ред по end_dt desc nulls първи)

актуализация:

SQL Fiddle

Настройка на схемата на Oracle 11g R2 :

СЪЗДАЙТЕ ТАБЛИЦА t (val int, s дата, e дата); ВМЕСЕТЕ ВСИЧКИ В t (val, s, e) СТОЙНОСТИ (1, sysdate-3, sysdate-2) В t (val, s, д) СТОЙНОСТИ (1, sysdate-2, sysdate-1) INTO t (val, s, e) СТОЙНОСТИ (1, sysdate-1, null) INTO t (val, s, e) СТОЙНОСТИ (2, sysdate-1, sysdate-.5) INTO t (val, s, e) VALUES (2, sysdate-.5, sysdate-.25)SELECT * FROM dual; 

Запитване 1 :

изберете val, min(s), max(e) запазете (dense_rank първи ред по e desc nulls първи) от t група по val 

Резултати :

<предварителен код>| VAL | MIN(S) | MAX(E)KEEP(DENSE_RANKFIRSTORDERBYEDESCNULLSFIRST) |---------------------------------------------- -------------------------------------------------- --| 1 | 13 ноември 2012 г. 14:15:46+0000 | (нула) || 2 | 15 ноември 2012 г. 14:15:46+0000 | 16 ноември 2012 г. 08:15:46+0000 |

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Неявна разлика в преобразуването на потока от данни CAST спрямо ssis

  2. Как да премахнете правилната подплата в името на деня в Oracle

  3. Промяна на заявката за материализиран изглед

  4. Как да създадете меню в SQLPlus или PL/SQL

  5. Безплатни ES за 11.2.0.4 и 12.2 Дата на пускане