SELECT MAX(CASE
WHEN SEQ = 0 THEN
NAME
ELSE
NULL
END),
MAX(CASE
WHEN SEQ = 1 THEN
NAME
ELSE
NULL
END),
MAX(CASE
WHEN SEQ = 2 THEN
NAME
ELSE
NULL
END)
FROM (SELECT NAME,
MOD(ROW_NUMBER() OVER(ORDER BY NAME) - 1, 3) SEQ,
TRUNC((ROW_NUMBER() OVER(ORDER BY NAME) - 1) / 3) CLASS
FROM NAMES)
GROUP BY CLASS
ORDER BY CLASS
注: 使用MOD 得到0-2 三个数 ,进而决定数据摆放的位置
根据行数/3 向上取整 获得每一行的标识
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24558043/viewspace-676922/
,如需转载,请注明出处,否则将追究法律责任。