在 SQL 中查找日期的最后 3 个不同的事物顺序
Posted
技术标签:
【中文标题】在 SQL 中查找日期的最后 3 个不同的事物顺序【英文标题】:find the last 3 different thing order on date in SQL 【发布时间】:2021-04-16 10:32:17 【问题描述】:我想在我的桌子上找到按日期排列的最后 3 个人,但我不知道该怎么写 这是我的示例代码:
SELECT TOP 3 ActionDate
FROM ActivityTable
GROUP BY ActorCode
ORDER BY ActionDate DESC
ActionDate | ActorCode |
---|---|
2020-02-01 | 963 |
2020-01-01 | 963 |
2019-12-12 | 256 |
2019-12-30 | 256 |
输出:
ActionDate | ActorCode |
---|---|
2020-02-01 | 963 |
2019-12-30 | 256 |
【问题讨论】:
请提供样本数据和期望的结果。您的查询似乎符合您的要求。 你认为这是一个简单的登录活动表 。 .我真的不知道你所说的“简单登录活动表”是什么意思。 @SaraMoradi 请描述您在选择中想要的输出,以及一些示例数据。我猜每个 ActorCode 都有多个 ActionDate 并且您只想要按 max(ActionDate) 排序的前 3 个 ActorCode ? 你的预期输出是什么? 【参考方案1】:如果你想要人,为什么要选择日期?我怀疑你可能想要最后三个ActorCode
。如果是这样,请使用聚合:
SELECT TOP (3) ActorCode
FROM ActivityTable a
GROUP BY ActorCode
ORDER BY MAX(ActionDate) DESC
【讨论】:
前面的SELECT为什么不能写其他列?它给了我一个错误!以上是关于在 SQL 中查找日期的最后 3 个不同的事物顺序的主要内容,如果未能解决你的问题,请参考以下文章