需要帮助-场景-我有一个包含列的表testdata
memberid (varchar) ,codetype(varchar),effectivedate(datetime)
此表有20 k条记录-从2015年到2021年,我需要找出记录-每年每个成员的前两条日期记录[只有memberid是唯一的)例如。
| 成员ID|代码类型|有效日期|
| - -|- -|- -|
| 一百二十三|ABC公司|2015年1月2日|
| 一百二十三|ABC公司|2015年1月2日|
| 一百二十三|ABC公司|2015年8月15日|
| 一百二十三|无网格|2015年9月15日|
| 一百二十三|无网格|2018年2月15日|
| 三百四十五|无网格|2018年3月14日|
| 三百四十五|无网格|2018年3月17日|
| 三百四十五|ABC公司|2020年9月19日|
| 四百五十六人|无网格|2021年12月20日|
结果应如下所示
| 成员ID|代码类型|有效日期|
| - -|- -|- -|
| 一百二十三|ABC公司|2015年1月2日|
| 一百二十三|ABC公司|2015年1月2日|
| 一百二十三|ABC公司|2018年2月15日|
| 三百四十五|无网格|2018年3月14日|
| 三百四十五|无网格|2018年3月17日|
| 三百四十五|ABC公司|2020年9月19日|
| 四百五十六人|无网格|2021年12月20日|
我试了很多方法,但至今没有成功
1条答案
按热度按时间pepwfjgg1#
试试这个
基本上,您可以获得按memberid和记录年份划分的每个记录的行号,然后只保留rownum为1或2的记录。