在MyType列中重新获得最大值2的结果

时间:2017-05-22 15:30:36

标签: mysql sql mariadb greatest-n-per-group

在我的表中,我的日期与不同的类型(MyType)相同。我想恢复最大化。 2创建时的每个不同MyType的结果(日期)> 2017年4月10日

我的约会:

ID MyType Created
1  A      2017-04-09
2  C      2017-04-09
3  D      2017-04-09
4  A      2017-04-12
5  A      2017-07-09
6  A      2017-11-08
7  C      2017-05-09
8  C      2017-09-12
9  C      2017-10-01
10 B      2017-04-09
11 D      2017-05-17

预期结果:

ID MyType Created
4  A      2017-04-12
5  A      2017-07-09
7  C      2017-05-09
8  C      2017-09-12
11 D      2017-05-17

如何接收每个MyType列的最多2个结果?

1 个答案:

答案 0 :(得分:-1)

SELECT  ID, 
    MyType, 
    CreatedDate
FROM
       ( Select ID, 
                MyType, 
                CreatedDate, 
                ROW_NUMBER() OVER (PARTITION BY ID Order by CreatedDate desc) [RN]
         From YourTable) A
WHERE 
    A.RN IN (1,2)
ORDER BY
    CreatedDate