[英]Mysql how to find cumulative total by group
谁能帮我解决这个问题。 我有一个插曲表,插曲将会有以下约会。 情节表会像
+-------------+------------+------------+------------+----------------+------+
| Episode_id | Patientid | St_date | End_date | Status | ... |
+-------------+------------+------------+------------+----------------+------+
| 61112345 | 100001 | 12-01-2010 | | Active | |
| 61112346 | xxxxxx | 20-01-2010 | 10-10-2011 | Withdrawn | |
| ......... | xxxxxxxx | 30-01-2010 | 10-05-2011 | Lost to follow | |
| ......... | xxxxxxxx | 01-02-2011 | Active | Active | |
+-------------+------------+------------+------------+----------------+------+
状态字段保存每个情节的状态。一个情节有6个约会,每个约会3个月。 因此一集总共有18个月。 一些患者可能会完成所有6个约会,一些患者可能会在中间退出,或者一些患者会失去随访。 我需要创建一个仪表板。
约会表将包含以下字段
Appointment_id
PatientId
...
Stats // Completed or pending, which is used for reporting
例如,如果患者完成了2次约会,并且如果他被标记为退出退出状态,这意味着他已经从第3次访问中退出,并且活跃了2次访问,如果我们在第5个应用程序中没有跟随他,那么他将在4app和那么他将被添加到失败者中,以进行第5次访问。 如果他完成所有操作,则将添加所有6次访问的有效状态。 报告应该像
Report from 01-01-2010 to 31-12-2010
+--------+--------+-------------+----------------+---------+
| | Active | Withdrawn | Lost to follow | Revised |
+------- +--------+-------------+----------------+---------+
| visit1 | 1500 | 30 | 5 | 5 |
| Visit2 | 1800 | 20 | 4 | 3 |
| Visit3 | 1900 | 45 | 3 | 2 |
| Visit4 | 1800 | 34 | 0 | 1 |
| Visit5 | 1900 | 30 | 0 | 1 |
| Visit6 | 1200 | 20 | 0 | 5 |
+--------+--------+-------------+----------------+---------+
当前,我们正在获取查询并仅使用循环来生成这样的报告,但是这需要花费一些时间,请问有什么方法可以使用查询本身来实现。
目前尚不清楚您要分组的内容,但是我可以给您一个一般性的答案。 在where子句之后,您可以添加“按字段名称分组”,其中“字段名称”是您要计数或求和的元素。 然后,您可以计数(字段名)或总和(字段名)进行加法或计数。
这可能会有所帮助: http : //www.artfulsoftware.com/infotree/qrytip.php?id=105
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.