改变思考问题的方式——SQL排序查询
只查询一张表,一条数据
查询规模指标表,条件:没有被删除的,然后按是否生效(0生效,只有一个生效的,如果都没有生效),那就按审批状态(如果有多个通过审批)最后按更新时间排序,取最新的那个
其实这个可以仅仅将3个字段排序然后就ok了
SELECT iseffective , approvestatus ,update_date FROM PT_SYS_BASE_PLANNINGINDEX WHERE IFNULL(delflag,0) = 0 ORDER BY IFNULL(iseffective,-1) DESC, approvestatus DESC , update_date DESC LIMIT 1
个人实际业务所遇,如有疑问,评论提出,谢谢!