WITH DATA_RANGE AS(
SELECT NAME, DATA_VALUE, LEAD(DATA_VALUE) OVER (PARTITION BY NAME ORDER BY DATA_VALUE) NEXT_VALUE FROM
(
SELECT NAME,MIN_VAL V1,MIN_VAL+PARTITION V2,MIN_VAL+PARTITION*2 V3,MIN_VAL+PARTITION*3 V4,MIN_VAL+PARTITION*4 V5,MIN_VAL+PARTITION*5 V6
,MIN_VAL+PARTITION*6 V7,MIN_VAL+PARTITION*7 V8,MIN_VAL+PARTITION*8 V9,MIN_VAL+PARTITION*9 V10,MAX_VAL V11
FROM(
SELECT NAME,MIN_VAL,MAX_VAL,(MAX_VAL-MIN_VAL)/10 PARTITION
FROM(
SELECT NAME,MAX(VALUE) MAX_VAL, MIN(VALUE) MIN_VAL FROM TAB
GROUP BY NAME) A) A) A
UNPIVOT
(DATA_VALUE
FOR DATA_TYPE IN (V1,V2,V3,V4,V5,V6,V7,V8,V9,V10,V11))
ORDER BY NAME, DATA_VALUE)
SELECT NAME, DATA_VALUE, NEXT_VALUE FROM DATA_RANGE
WHERE NEXT_VALUE IS NOT NULL
ORDER BY NAME,DATA_VALUE