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.

Montag, September 26, 2005

Vorsichtige Eröffnung

Möglicherweise werde ich an dieser Stelle zukünftig über Oracle Datenbanken sprechen. Sicher ist das allerdings noch nicht. Voraussetzung ist, dass ich die Zeit dafür finde. Und dass meine Motivation dazu ausreicht. Und dass mir etwas zum Thema einfällt, das darzustellen die Mühe lohnt.