繁体   English   中英

MySQL如何按组查找累计总数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM