mysql 优先选取符合条件的记录,不够则加上其他的数据

SELECT
            pp.id,
            pp.state,
            (SELECT item_text FROM vw_dict_item WHERE dict_code = 'project_state' AND item_value = pp.state) stateName,
            pp.project_code,
            pp.project_name,
            bc.company_name,
            bpc.profit_center_name,
            wpp.turnover,
            wpp.gross_profit,
            IFNULL((wpp.gross_profit_rate*100),'') as gross_profit_rate
        FROM pmp_project AS pp
        INNER JOIN work_project_sum_base AS wpp ON wpp.project_id = pp.id
        LEFT JOIN bas_company AS bc ON pp.sys_company_id = bc.id
        LEFT JOIN bas_profit_center AS bpc ON pp.sys_profit_center_id = bpc.id 
                 order by  case stateName when '执行中' then 1 else 2 end

stateName项目状态:1:未生效,2:执行中,3:锁定,4:终止,5:项目结束,7:关闭,8:取消,9:活动结束',

有九个值,其中执行中排第二个,需要优先显示执行中的数据。

具体语句如下:

select * from tb order by
case 字段名 when '值' then 1 else 2
end
  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值