我有一个这样的表(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