戈壁老翁 2022-12-26 15:19 采纳率: 0%
浏览 21

sql 查询中count,case统计问题

哪位帮忙看看怎么简化sql
SELECT a.monthCount,a.monthAlarmingCount,a.monthEndAlarmCount,b.monthEarlyWarningCount,b.monthInFaultAlarmCount,c.monthEndEarlyWarningCount,c.monthEndFaultCount from
(SELECT COUNT(*) as 'monthCount',COUNT(case when alarm_status = 1 then 1 end) as 'monthAlarmingCount', COUNT(case when alarm_status = 2 then 2 end) as 'monthEndAlarmCount' from sol_alarm_inverter_plant where DATE_FORMAT(alarm_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') and plant_id = 38147)as a,
(SELECT COUNT(case when alarm_level = 1 then 1 end) as'monthEarlyWarningCount', COUNT(case when alarm_level = 2 then 2 end) as 'monthInFaultAlarmCount'from sol_alarm_inverter_plant where DATE_FORMAT(alarm_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') and plant_id = 38147 and alarm_status =1)AS b,
( SELECT COUNT(case when alarm_level = 1 then 1 end) as'monthEndEarlyWarningCount', COUNT(case when alarm_level = 2 then 2 end) as'monthEndFaultCount'from sol_alarm_inverter_plant where DATE_FORMAT(alarm_time,'%Y-%m') = DATE_FORMAT(NOW(),'%Y-%m') and plant_id = 38147 and alarm_status =2)AS c

  • 写回答

2条回答 默认 最新

  • 夜郎king 2022博客之星IT其它领域TOP 12 2022-12-26 15:37
    关注

    具体是什么数据库,可以用with子句进行改善,提高可读性

    评论

报告相同问题?

问题事件

  • 创建了问题 12月26日

悬赏问题

  • ¥15 Arcgis河网分级报错
  • ¥200 java+appium2.1+idea
  • ¥20 请帮我做一个EXE的去重TXT文本
  • ¥15 工价表引用工艺路线,应如何制作py和xml文件
  • ¥15 根据历史数据,推荐问题类型
  • ¥15 需要仿真图,简单的二阶系统实例
  • ¥15 stm32光控照明仿真
  • ¥15 使用人工智能的方法生成满足一定统计参数要求的随机数序列
  • ¥15 SENT协议中相关问题咨询
  • ¥15 URL地址href跳转问题