【发布时间】:2020-07-31 11:23:31
【问题描述】:
我有两张桌子
- 用户:ID、电子邮件、名字、姓氏
- 订阅:id、userId、currentPeriodStart、currentPeriodEnd
下面只是向您展示这两个表是如何相关的。我想退回在 1565827199 之后过期的订阅,但它需要检查每个用户最近的订阅。
select
u.id
from users u
join subscriptions s on u.id s.userId
where s.currentPeriodEnd > 1565827199
ORDER BY u.lastName ASC
一个用户可能在订阅表中有多个订阅。我需要做的是修改上面的查询,因此它会检查该用户的最新订阅,而不是它找到的第一个订阅。
select * from subscriptions ORDER BY currentPeriodEnd DESC LIMIT 1
我已经尝试了一些不同的东西(别名表、子查询),但我在 stackoverflow 的其他地方没有任何运气。
【问题讨论】:
标签: mysql sql date greatest-n-per-group mysql-5.7