WITH TEST AS( SELECT1AS Id, '苹果汁'AS NAME FROM Dual UNIONALL SELECT2AS Id, '牛奶'AS NAME FROM Dual UNIONALL SELECT3AS Id, '蕃茄酱'AS NAME FROM Dual UNIONALL SELECT4AS Id, '盐'AS NAME FROM Dual UNIONALL SELECT5AS Id, '麻油'AS NAME FROM Dual UNIONALL SELECT6AS Id, '酱油'AS NAME FROM Dual UNIONALL SELECT7AS Id, '海鲜粉'AS NAME FROM Dual UNIONALL SELECT8AS Id, '胡椒粉'AS NAME FROM Dual UNIONALL SELECT9AS Id, '鸡'AS NAME FROM Dual UNIONALL SELECT10AS Id, '蟹'AS NAME FROM Dual UNIONALL SELECT11AS Id, '民众奶酪'AS NAME FROM Dual UNIONALL SELECT12AS Id, '德国奶酪'AS NAME FROM Dual UNIONALL SELECT13AS Id, '龙虾'AS NAME FROM Dual UNIONALL SELECT14AS Id, '沙茶'AS NAME FROM Dual UNIONALL SELECT15AS Id, '味精'AS NAME FROM Dual UNIONALL SELECT16AS Id, '饼干'AS NAME FROM Dual UNIONALL SELECT17AS Id, '猪肉'AS NAME FROM Dual UNIONALL SELECT18AS Id, '墨鱼'AS NAME FROM Dual UNIONALL SELECT19AS Id, '糖果'AS NAME FROM Dual UNIONALL SELECT20AS Id, '桂花糕'AS NAME FROM Dual UNIONALL SELECT21AS Id, '花生'AS NAME FROM Dual UNIONALL SELECT22AS Id, '糯米'AS NAME FROM Dual ) SELECTMAX(Decode(MOD(Id, 3), 1, Id, '')) Id1, MAX(Decode(MOD(Id, 3), 1, NAME, '')) Name1, MAX(Decode(MOD(Id, 3), 2, Id, '')) Id2, MAX(Decode(MOD(Id, 3), 2, NAME, '')) Name2, MAX(Decode(MOD(Id, 3), 0, Id, '')) Id3, MAX(Decode(MOD(Id, 3), 0, NAME, '')) Name3 FROM Test GROUPBY Trunc(Rownum /3-0.1, 0) ORDERBY Id1