select *
from (select DATE_FORMAT(a.endcase_date, '%Y') as endcase_date0
from EDW_CLM_CASE_LIST a
group by DATE_FORMAT(a.endcase_date, '%Y')
order by case
when DATE_FORMAT(a.endcase_date, '%Y') is null then
1
else
0
end desc,
DATE_FORMAT(a.endcase_date, '%Y') desc) as temp_ limit 100
上面的sql使用temp 表,导致查询结果排序有问题,需要改为
select *
from (select DATE_FORMAT(a.endcase_date, '%Y') as endcase_date0
from EDW_CLM_CASE_LIST a
group by DATE_FORMAT(a.endcase_date, '%Y')
order by case
when DATE_FORMAT(a.endcase_date, '%Y') is null then
1
else
0
end desc,
DATE_FORMAT(a.endcase_date, '%Y') desc limit 100) as temp_ ;
在MySQL 中执行,2个sql 返回结果一致,排序无问题,为了保持和MySQL一致,如何解决此问题?