怎么实现按不同的方式排序

这是我写的sql语句,请大神帮忙看一下,怎么实现按人次和总金额排序呢?
sql语句:
select mtszks.jblb as 疾病名称,count(mtzyjl.iid) as 病例数,sum(mtchargeinfo.amt) as 总费用
from mtzyjl,org,mtszks,mtchargeinfo
where mtzyjl.iid=mtszks.mtzyjl
and mtzyjl.iid=mtchargeinfo.mtzyjl
and mtszks.iscurrent=1
and mtszks.isactive=1
and mtszks.org=org.iid
and zyjlcysj> '${开始时间1} 00:00:00'
and zyjlcysj<'${结束时间1} 23:59:59'
and zyjlzyh<>-1
group by mtszks.jblb
${if 排序方式==0,"order by count(mtzyjl.iid) desc","order bysum(mtchargeinfo.amt) desc"}
FineReporttian 发布于 2016-6-23 17:49
悬赏:2 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共7回答
最佳回答
0
yets11发布于2016-6-23 17:49(编辑于 2023-9-6 09:34)
555
最佳回答
0
yets11发布于2016-6-23 18:08(编辑于 2023-9-6 09:34)
555
最佳回答
0
tian发布于2016-6-23 18:50(编辑于 2023-9-6 09:34)
555
  • yets11 yets11

    恩,最后一句改下
    回复
    2016-06-23 18:52 
最佳回答
0
yets11发布于2016-6-23 18:52(编辑于 2023-9-6 09:34)
555
  • tian tian(提问者)

    不知道怎么改,现在不管排序方式是0还是1,都是按总费用来排序的了,我的想法是,当排序方式选择0时,让他按数量来排序,
    回复
    2016-06-23 19:03 
  • tian tian(提问者)

    ${if(排序方式==0,\"order by count(mtzyjl.iid) desc\",\"order by sum(mtchargeinfo.amt) desc\")}语句好像执行的都是order by sum(mtchargeinfo.amt) desc这后面的这语句,我把交换后${if(排序方式==0,\"order by sum(mtchargeinfo.amt) desc\",\"order by count(mtzyjl.iid) desc\")},她就执行的是order by count(mtzyjl.iid) desc这语句了,
    回复
    2016-06-23 19:08 
最佳回答
0
tian发布于2016-6-23 19:03(编辑于 2023-9-6 09:34)
555
最佳回答
0
tian发布于2016-6-23 19:08(编辑于 2023-9-6 09:34)
555
  • yets11 yets11

    你的参数名是排序方式吗,实际值是0和1吗
    回复
    2016-06-23 17:49 
最佳回答
0
tian发布于2016-6-23 19:16(编辑于 2023-9-6 09:34)
555
  • 0关注人数
  • 918浏览人数
  • 最后回答于:2016-6-23 19:16
    活动推荐 更多
    热门课程 更多
    返回顶部