问题:oracle 分组查询等级,并按照等级排序。
sql:
SELECT
*
FROM
CLASS_RATING
WHERE CLASS_RATING_LEVEL IN(‘AAA’,‘AA’,‘A’,‘BBB’,‘BB’,‘B’)
ORDER BY CASE WHEN CLASS_RATING_LEVEL = ‘AAA’ THEN 1
WHEN CLASS_RATING_LEVEL = ‘AA’ THEN 2 WHEN CLASS_RATING_LEVEL = ‘A’ THEN 3
WHEN CLASS_RATING_LEVEL =‘BBB’ THEN 4 WHEN CLASS_RATING_LEVEL = ‘BB’ THEN 5
WHEN CLASS_RATING_LEVEL = ‘B’ THEN 6 ELSE 0 END ASC,CREATE_TIME ASC
在where条件后判断每个等级排名,根据时间正序或者倒叙查询数据。