我有一个表medic_appointment
与以下字段:datetime_diagnosis
(DATETIME
类型)和diagnosis
。我需要执行一个查询,它会显示出每种疾病发生率最高的YEAR_MONTH
。SQL:如何使多个COUNT/MAX
我目前在这一点上:
SELECT disease , COUNT(*) AS frequency ,
EXTRACT(YEAR_MONTH FROM datetime_diagnosis) AS interval
FROM medic_appointment
GROUP BY disease , interval
导致下面的示例表:
disease frequency interval
-------- --------- --------
disease1 5 201609
disease1 8 201610
disease1 22 201611
disease1 1 201612
disease2 7 201611
我试图做这样的事情:用上面提到的查询,增加它以这种方式,它会选择最高频率的数字,并返回间隔和疾病领域,然后按疾病分组......但它不是以这种方式工作,我只是找不到另一种方法来弄清楚。不知道这是否是最佳选择。
编辑:预期的结果:
disease frequency interval
-------- --------- --------
disease1 22 201611
disease2 7 201611
提供文字预期的结果是非常复杂的理解。提供预期的结果集。 – Viki888