我有一个活动表,其中包含对用户表的外键引用。一个用户可以有很多活动,而我有一份每天都会填充他们的活动的工作。该作业运行后,我想运行一个 SQL 查询,该查询将删除每个用户最旧的记录并保留最新的 10 条记录。这是架构:
用户
id name
1 Jimmy
2 Johnny
用户活动
id user_id activity date
1 1 foo 2020-08-07 00:00:00
2 1 bar 2020-08-08 00:00:00
3 1 baz 2020-08-09 00:00:00
4 2 foo 2020-08-07 00:00:00
5 2 bar 2020-08-08 00:00:00
6 2 baz 2020-08-09 00:00:00
如何编写查询以将每个用户的记录截断到最新的 10 条?