select CanSell,Signed,Records,AveragePrice,housetype,addtime from AC_SellExhilarant where (floor(sysdate - addtime) =1 or floor(sysdate - addtime) = 0) and DISTRICT = :DISTRICT order by decode(Housetype,'住宅类',0,'商业类',1,'办公类',2),AddTime DESC请问各位高手这个怎么改
case when Housetype = '住宅类' then 0
when Housetype = '商业类' then 1
when Housetype = '办公类' then 2
end rn
from AC_SellExhilarant
where (floor(sysdate - addtime) = 1 or floor(sysdate - addtime) = 0)
and DISTRICT = :DISTRICT
order by rn, AddTime DESC;floor向下取整这个函数标准sql中不确定是否能用或者有相似的函数
select CanSell,Signed,Records,AveragePrice,housetype,addtime,
from AC_SellExhilarant
where (floor(sysdate - addtime) = 1 or floor(sysdate - addtime) = 0)
and DISTRICT = :DISTRICT
order by case when Housetype = '住宅类' then 0
when Housetype = '商业类' then 1
when Housetype = '办公类' then 2
end rn, AddTime DESC;
能不能把 case 到 from 之间的语句放到where的后面??