为了账号安全,请及时绑定邮箱和手机立即绑定

这样的sql能优化吗,每次子查询只有条件不同

这样的sql能优化吗,每次子查询只有条件不同

慕标琳琳 2018-12-07 09:41:08
1 select * from 2 (select count(*) as '计划任务' from hscdm_project_qc where task_date BETWEEN date_add(now(),interval -7 DAY ) and NOW() ) as t1, 3 (select count(*) as '报送数据' from hscdm_project_qc where task_status =2 and task_date BETWEEN date_add(now(),interval -7 DAY ) and NOW() )as t2, 4 (select count(*) as '审核通过' from hscdm_project_qc where check_status=1 and task_date BETWEEN date_add(now(),interval -7 DAY ) and NOW() ) as t3 服务器端和客户端都好 
查看完整描述

4 回答

?
噜噜哒

TA贡献1784条经验 获得超7个赞

count(case when .. then ...  end)

 

SELECT
    COUNT(1) AS '计划任务',
    COUNT(CASE WHEN TASK_STATUS = 2 THEN 1 END) AS '报送数据',
    COUNT(CASE WHEN TASK_STATUS = 1 THEN 1 END) AS '审核通过'
FROM
    HSCDM_PROJECT_QC
WHERE
    TASK_DATE BETWEEN DATE_ADD(NOW(), INTERVAL - 7 DAY) AND NOW() 
查看完整回答
反对 回复 2019-01-07
?
达令说

TA贡献1821条经验 获得超6个赞

哪里需要优化呢?

查看完整回答
反对 回复 2019-01-07
?
LEATH

TA贡献1936条经验 获得超6个赞

大部分内容都是一样的 就只有个别条件不同  想看看能不能优化一下

查看完整回答
反对 回复 2019-01-07
?
BIG阳

TA贡献1859条经验 获得超6个赞

可以试下 case 。。。。 then 。。。when语句

查看完整回答
反对 回复 2019-01-07
  • 4 回答
  • 0 关注
  • 531 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信