我运行以下查询string_agg(DISTINCT grades, '|')
,它按此顺序执行并输出我的结果01|02|03|04|05|KG|PK
。Postgresql排序string_agg
我该如何重新排列它PK|KG|01|02|03|04|05
?
SELECT
U.CUSTOM_100000001 AS USERID
, SC.TITLE
, U.FIRST_NAME
, U.LAST_NAME
, string_AGG(DISTINCT SGL.short_name, '|')
FROM
USERS U
, COURSE_PERIODS CP
, SCHOOLS SC
, school_gradelevels SGL
WHERE
CP.SCHOOL_ID=SC.ID
AND
U.STAFF_ID = CP.TEACHER_ID
AND
SGL.SCHOOL_ID = SC.ID
AND
CP.SYEAR =2015
AND
SGL.short_name in('PK','KG','01','02','03','04','05','06','07','08')
AND
SC.CUSTOM_327 IN ('0021','0025','0051','0061','0071','0073','0081','0101','0111','0131','0211','0221','0294','0301','0321','0341','0361','0371','0291')
GROUP BY
U.CUSTOM_100000001, SC.TITLE, U.FIRST_NAME, U.LAST_NAME
您可以将其余查询添加到您的问题中吗?即整个'SELECT'声明 – dsh
选择 U.CUSTOM_100000001 AS USERID, SC.TITLE, U.FIRST_NAME, U.LAST_NAME, string_AGG(DISTINCT SGL.short_name, '|') 来自用户的ü , COURSE_PERIODS CP, 学校SC, school_gradelevels SGL WHERE CP.SCHOOL_ID = SC.ID AND U.STAFF_ID = CP.TEACHER_ID AND SGL.SCHOOL_ID = SC.ID AND CP.SYEAR = 2015 和SGL.short ('PK','KG','01','02','03','04','05','06','07','08')中的_name AND SC.CUSTOM_327 IN '0021', '0025', '0051', '0061', '0071', '0073', '0081', '0101', '0111', '0131', '0211', '0221','0294 ”, '0301', '0321', '0341', '0361', '0371', '0291') GROUP BY U.CUSTOM_100000001, SC.TITLE, U.FIRST_NAME, U.LAST_NAME – user3263892