【发布时间】:2020-09-14 22:25:30
【问题描述】:
所以我有这张产品信息表。每次更改特定产品时,都会插入一个带有新值的新行,包括时间戳和修改它的用户。
为了显示信息,我搜索特定产品的最新行(由 product_id 列标识)。
但现在我需要知道谁是最后一个修改名为 status 的特定列的人。
假设我的表由这个组成
所以本质上我需要编写一个查询来告诉我该给定列的最后一次更改是什么时候。
product_id | name | status | user | keyid
--------------------------------------------
598 | prrr | 0 | john | 10
598 | prod | 1 | jane | 11
456 | abcd | 2 | mac | 12
598 | prdd | 2 | kate | 13
598 | rdpd | 2 | jane | 14
456 | prrr | 3 | john | 15
456 | abbb | 3 | kate | 16
所以产品598的最新信息是
598 rdpd 2 jane 14
但最后一个改变的人是凯特
产品456的最新信息是
456 abbb 3 kate 16
但最后一个改变的人是约翰
所以理想情况下,我想编写一个返回的查询
598 kate 13
456 john 15
我什至不知道如何编写这样的查询,所以我想知道是否有人可以在这里帮助我。
【问题讨论】:
标签: sql select greatest-n-per-group gaps-and-islands