如何在mysql查询中获取GROUP BY的最新索引?

如何在mysql查询中获取GROUP BY的最新索引?,mysql,group-by,record,Mysql,Group By,Record,我对获取Group by最新索引的算法和方法感到困惑。 我有一个这样的疑问 SELECT hasil_kmbg AS RESULT, EXTRACT(MONTH FROM tgl_check) AS MONTH, EXTRACT(YEAR FROM tgl_check) AS YEAR FROM perkembangan WHERE no_pasien=11 GROUP BY MONTH, id_kmbg DESC 这是

我对获取Group by最新索引的算法和方法感到困惑。 我有一个这样的疑问

SELECT hasil_kmbg AS RESULT,
   EXTRACT(MONTH
           FROM tgl_check) AS MONTH,
   EXTRACT(YEAR
           FROM tgl_check) AS YEAR
FROM perkembangan
WHERE no_pasien=11
GROUP BY MONTH,
         id_kmbg DESC
这是查询的结果

|Result|Month|Year|
-------------------
|3     |1    |2013|
|1     |1    |2013|
|5     |1    |2013|
|1     |2    |2013|
|1     |3    |2013|
and so on

问题是,我如何在第一个月得到结果是3?我不想在第1个月显示其他结果,但最新的3个月除外,我按说明订购。

您每月会收到多行,因为您已将id\u kmbg包含在group by子句中。我认为您需要max函数:

select max(hasil_kmbg) as Result, EXTRACT(MONTH FROM tgl_check) as Month,
       EXTRACT(YEAR FROM tgl_check) as Year
from perkembangan
where no_pasien=11
group by Month, Year;

我想你正在寻找这个:

SELECT hasil_kmbg AS RESULT,
       EXTRACT(MONTH
               FROM tgl_check) AS MONTH,
       EXTRACT(YEAR
               FROM tgl_check) AS YEAR
FROM perkembangan
WHERE no_pasien=11
ORDER BY id_kmbg DESC
LIMIT 1
我的直觉是,你不需要这里的团队,因为你是按ID DESC订购的


如果您需要一个分组依据,您可能需要修改如何选择hasil_kmbg。

您成功地使它工作了吗?如果你觉得答案能解决你的问题,别忘了接受它。