一列多条件匹配多行的mysql

时间:2019-09-03 16:18:21

标签: mysql

我有一个这样的表(i_cases):

auto_inc_id | case_id | status_id | updated_on
1 | 1 | 0 | 2019-06-01
2 | 1 | 1 | 2019-07-01
3 | 1 | 3 | 2019-08-01
4 | 1 | 4 | 2019-09-01

我需要对case_id进行计数。像这样的东西:

SELECT COUNT(DISTINCT(case_id)) as count
FROM i_cases
WHERE
status_id = 1 AND updated_on < 2019-09-01 
AND 
status_id = 3 AND updated_on < 2019-09-01

有关如何实现此目标的任何建议?

结果应为1

我当前的解决方案是运行2个单独的查询:

SELECT DISTINCT(case_id)
FROM i_cases
WHERE
status_id = 1 AND updated_on < 2019-09-01 
SELECT DISTINCT(case_id)
FROM i_cases
WHERE
status_id = 3 AND updated_on < 2019-09-01 

并使用php进行array_intersect在两个结果中找到共同的case_id

0 个答案:

没有答案