【发布时间】:2017-11-16 03:59:25
【问题描述】:
我有一个表tbl_patient:包含from_date, to_date, patient_name 和gender。
from_date to_date patient_name gender
2017-06-10 2017-06-13 AAA Male
2017-06-08 2017-06-11 BBB Female
2017-06-13 2017-06-15 CCC Male
我必须从 tbl_patient 创建一个新表 tbl_details,其中包含日期(在 from_date 和 to_date 之间,来自 tbl_patient),total_number of patients in当天男数女数
date patients Male Female
2017-06-10 2 1 1
2017-06-11 2 1 1
2017-06-12 1 1 0
2017-06-13 2 2 0
2017-06-08 1 0 1
2017-06-09 1 0 1
2017-06-14 1 1 0
2017-06-15 1 1 0
我的问题是我无法编写查询来查找 from_date 和 to_date 之间的日期
I tried
SELECT DATE_ADD( MIN(from_date), interval @num := @num+1 day) AS date_sequence,
tbl_patient.* FROM tbl_patient
HAVING DATE_ADD(MIN(from_date), interval @num day) <= MAX(to_date)
但是没有运气..
请有人可以帮助我..
【问题讨论】:
-
预期输出中患者和日期之间的逻辑是什么?为什么10-06、11-6有2个病人,12-06只有1个?
-
您是否正在寻找一个查询,该查询可让您在从和到之间每天按男性/女性划分患者数?
-
你能在这里回显你当前的查询吗
-
最简单的做法可能是创建一个日历表,然后在范围匹配上将其内部连接到当前表。
-
考虑处理应用代码中数据显示的问题
标签: mysql