简体   繁体   English

从MYSQL的每个组中选择最后一个条目

[英]Selecting the last entry from each group in MYSQL

I am very new to MySQL (I tried groupby, but didnt get the result) This my sample data 我是MySQL的新手(我尝试过groupby,但没有得到结果)这是我的示例数据

ticket year status data
111    2007 1      32
111    2007 2      46
111    2007 3      40
111    2007 4      38
111    2009 1      15
111    2009 2      12
115    2009 1      2 
115    2009 2      5

I want to select the last entry for each company, for each year. 我想选择每个公司每年的最后一个条目。 Output should be: 输出应为:

ticket year status data
111    2007 4      38 
111    2009 2      12
115    2009 2      5

as status field values looks incremental order. 因为状态字段的值看起来是递增顺序。 we can simply apply max after groupby. 我们可以简单地在groupby之后应用max。

select a.* from a 
inner join (select ticket,year,max(status) as sta from a group by ticket,year) as b 
on a.status=b.sta 
and a.ticket=b.ticket and a.year=b.year;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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