SELECT *
FROM (SELECT 'AAA' AS NAME FROM DUAL
UNION ALL
SELECT 'BBB' AS NAME FROM DUAL
UNION ALL
SELECT 'CCC' AS NAME FROM DUAL
UNION ALL
SELECT 'DDD' AS NAME FROM DUAL)
;
SELECT MAX(DECODE(MOD(RN, 5), 1, NAME)) NAME1,
MAX(DECODE(MOD(RN, 5), 2, NAME)) NAME2,
MAX(DECODE(MOD(RN, 5), 3, NAME)) NAME3,
MAX(DECODE(MOD(RN, 5), 4, NAME)) NAME4,
MAX(DECODE(MOD(RN, 5), 0, NAME)) NAME5
FROM (SELECT ROWNUM RN, NAME
FROM (SELECT *
FROM (SELECT 'AAA' AS NAME FROM DUAL
UNION ALL
SELECT 'BBB' AS NAME FROM DUAL
UNION ALL
SELECT 'CCC' AS NAME FROM DUAL
UNION ALL
SELECT 'DDD' AS NAME FROM DUAL)))
GROUP BY CEIL(RN / 5);