SQL Server 仅获取最近2年[已关闭]

cvxl0en2  于 2023-01-12  发布在  其他
关注(0)|答案(1)|浏览(129)
    • 已关闭**。此问题需要超过focused。当前不接受答案。
    • 想要改进此问题吗?**更新此问题,使其仅关注editing this post的一个问题。

16小时前关门了。
Improve this question
我有table代理:
座席标识varchar和奖金开始日期
| 代理ID|启动奖金|
| - ------|- ------|
| 一万|2022年5月1日|
| 一万|二○二一年四月一日|
| 一万|2020年3月1日|
| 二万|二○二一年四月一日|
| 二万|2020年3月1日|
| 二万|2019年2月1日|
| 三万|2020年3月1日|
如果我只想从SQL Server中的每个代理中的start_bonus获得2年的最新信息,该如何操作?
因此结果将:
| 代理ID|启动奖金|
| - ------|- ------|
| 一万|2022年5月1日|
| 一万|二○二一年四月一日|
| 二万|二○二一年四月一日|
| 二万|2020年3月1日|
| 三万|2020年3月1日|
谢谢

pgccezyw

pgccezyw1#

SELECT *
 FROM table_name a
 WHERE (
       SELECT COUNT(*)
       FROM table_name b
       WHERE b.agent_id = a.agent_id AND 
             b.start_bonus >= a.start_bonus
 ) <= 2
 ORDER BY agent_id ASC, start_bonus DESC

See Demo

相关问题