Seiten

Freitag, September 30, 2005

ntile

ntile ist eine der vielen netten (meiner Erinnerung nach in 8i eingeführten) analytischen Funktionen, die das Reporting dramatisch vereinfachen. Die Funktion unterteilt eine Ergebnismenge in n buckets und vergibt die entsprechende bucket number an alle zugehörigen rows.

select OBJECT_NAME,
       OBJECT_ID,
       ntile(5) over (order by OBJECT_ID) range
  from dba_objects
 where rownum < 20
 order by OBJECT_ID

OBJECT_NAME           OBJECT_ID      RANGE
-------------------- ---------- ----------
I_OBJ#                        3          1
I_TS#                         7          1
I_FILE#_BLOCK#                9          1
UET$                         13          1
UNDO$                        15          2
FILE$                        17          2
IND$                         19          2
ICOL$                        20          2
PROXY_ROLE_DATA$             25          3
I_PROXY_ROLE_DATA$_1         26          3
CON$                         28          3
C_COBJ#                      29          3
I_OBJ3                       38          4
I_IND1                       39          4
I_FILE1                      41          4
I_USER1                      44          4
I_CON1                       48          5
I_CDEF2                      51          5
I_CDEF4                      53          5

19 rows selected.

Keine Kommentare:

Kommentar veröffentlichen