sql - 在那个查询中,我想要 inprogress=0 记录如何做到这一点
问题描述
SELECT access, count(*)
from visitors
where type of visitor = 'complaint'
and access = 'open'
or access = 'inprogress'
or access = 'onhold'
or access = 'closed'
and apartmentid = 72
group by access
order by access desc
解决方案
您可以删除inprogress
过滤器或进行聚合:
SELECT v.access, SUM(CASE WHEN v.access = 'inprogress' THEN 0 ELSE 1 END) AS Cnt
FROM visitors v
WHERE v.typeofvisitor = 'complaint' AND
v.access IN ('complaint', 'open', 'inprogress', 'onhold', 'closed') AND
v.apartmentid = 72
GROUP BY v.access
ORDER BY v.access;
OR
可以简写为IN
.
推荐阅读
- postgresql - 在 h2 DDL 中始终生成身份
- javascript - 从 Radiobutton 的标签中获取文本
- mongodb - 如何使用 Spark Java 加载多个 mongo 集合
- java - 在 Spring Boot 应用程序上增加 max-http-header-size 是否存在危险/影响?
- sql - 这个带有 TypeORM 的查询可以有 SQL 注入吗?
- automation - 是否有任何苹果脚本将任务控制键盘选项设置为空?
- css - 轮播卡无法使用 React 引导程序工作
- excel - MS Excel:在字符串中的第 N 个和第 N 个字符之间提取
- gravity-forms-plugin - 使用 GFAPI::submit_form 提交带有多个选项的复选框
- azure - Azure API 管理后端服务与 URL