Sybase IQ中排序的语法

在Sybase IQ中如果是多重排序就要注意一下,要用以下格式:select * from table_name order by name desc, age desc
也就是每个字段都要标明是升序还是降序
前几天碰到一个复杂一点的,需要判断排序的字段是否为null,分母是否为0,并且要转化为float型以便于排序
这个是在ibatis里面写的:

<![CDATA[
select top #userCount# a.* from tbl_call_drop a
where a.startDate>=#startDateFormat# and a.endDate<=#endDateFormat#
order by
cast(isnull(a.calling_drop,0)+isnull(a.called_drop,0) as float)
/(case (isnull(a.calling_answer,0)+isnull(a.called_answer,0))
when 0 then 65535
else isnull(a.calling_answer,0)+isnull(a.called_answer,0)
end) desc,
(isnull(a.calling_answer,0)+isnull(a.called_answer,0)) desc
]]>


听说这种写法效率不高,可我暂时没有想到更好的,希望各位大大能提出更好的建议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值