SELECT T.YEAR, T.REGION_TYPE,t.REGION_NUM FROM GIMZG_TB_CURRENT_SITUATION T
LEFT JOIN SYS_TS_REGION SYSR ON T.REGION_ID=SYSR.ID
LEFT JOIN BI_TB_PERSONNEL P ON T.USER_ID=P.LOGIN_ID
WHERE T.YEAR IN (2020,2021)
ORDER BY T.YEAR DESC, T.REGION_TYPE ASC , T.REGION_NUM ASC
-----------------------------------------------------------------------------------------------------------
上面的查询排序是错乱的。检查后发现,T.REGION_NUM 在数据库存的是VARCHAR2的,经过调整。
SELECT T.YEAR, T.REGION_TYPE,t.REGION_NUM FROM GIMZG_TB_CURRENT_SITUATION T
LEFT JOIN SYS_TS_REGION SYSR ON T.REGION_ID=SYSR.ID
LEFT JOIN BI_TB_PERSONNEL P ON T.USER_ID=P.LOGIN_ID
WHERE T.YEAR IN (2020,2021)
ORDER BY T.YEAR DESC, T.REGION_TYPE ASC , CAST(T.REGION_NUM as integer) ASC
修改之后排序正常了,特此记录一下。