2
目前,我有我的查询会计算与16
的id
问题的患者:计数行 - 今年分组
SELECT
YEAR(pbd.date_created),
COUNT(*)
FROM
patient_booking_data pbd inner join problems p on pbd.pid = p.pid
WHERE
p.problem_list_id IN (16)
GROUP BY
YEAR(pbd.date_created)
这组患者基础上,今年这个数字便进入了我们的系统date_created
。
我试图找出有多少在同一年度内返回。
我已经试过这样的事情:
SELECT
YEAR(pbd.date_created),
COUNT(*)
FROM
patient_booking_data pbd inner join problems p on pbd.pid = p.pid
WHERE
p.problem_list_id IN (16)
AND pbd.pid IN (
SELECT pid FROM patient_booking_data GROUP BY pid HAVING count(*) > 1
)
GROUP BY
YEAR(pbd.date_created)
但是,这算pid
(patient_id),如果他们已经重新进入,即使它是一个不同的年份系统。
patient_booking_data
看起来像:
id | pid | booking_no | date_created | release_date
--------------------------------------------------------------------------------
1 | 565 | 12-3431 | 2012-08-10 | 2012-08-12
2 | 1231 | 12-1125 | 2012-08-11 | 2012-08-28
3 | 831 | 12-7897 | 2012-08-11 | 2012-08-11
4 | 2365 | 12-1254 | 2012-09-02 | 2012-09-03
5 | 565 | 12-5698 | 2012-10-10 | 2012-10-25
任何帮助,将不胜感激。
主查询中不会有简单的'HAVING count(*)> 1'吗? –