如何提取最新行
我有一个这样的表:
Table A
Date Time ID Ref
110217 91703 A001 A1100056
110217 91703 A001 A1100057
110217 91703 A001 A1100058
110217 91703 A001 A1100059
110217 132440 A001 A1100057
110217 132440 A001 A1100058
110217 132440 A001 A1100060
110217 91703 B001 B1100048
110217 91703 B001 B1100049
110217 132440 B001 B1100049
110217 132440 B001 B1100050
我希望仅拥有最新数据&使用 SQL 的最终结果应如下所示:
Date Time ID Ref
110217 132440 A001 A1100057
110217 132440 A001 A1100058
110217 132440 A001 A1100060
110217 132440 B001 B1100049
110217 132440 B001 B1100050
(3 条记录均具有相同的“最新”时间)
数据库将在特定时间自行更新。问题是:我不知道确切的时间,因此我不知道哪条记录是最新的。
I have a table like this:
Table A
Date Time ID Ref
110217 91703 A001 A1100056
110217 91703 A001 A1100057
110217 91703 A001 A1100058
110217 91703 A001 A1100059
110217 132440 A001 A1100057
110217 132440 A001 A1100058
110217 132440 A001 A1100060
110217 91703 B001 B1100048
110217 91703 B001 B1100049
110217 132440 B001 B1100049
110217 132440 B001 B1100050
I wish to have the latest data only & the final result should look like this using SQL:
Date Time ID Ref
110217 132440 A001 A1100057
110217 132440 A001 A1100058
110217 132440 A001 A1100060
110217 132440 B001 B1100049
110217 132440 B001 B1100050
(3 records all with the same "latest" time)
The database will self-update by itself at certain time. The problem is: I do not know the exact time, hence I do not know which record is the latest.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这适用于 SQL Server:
并且该解决方案可能是独立于服务器的:
This works in SQL Server:
And this solution is probably server-independent:
将为您提供 MySql 中的最新行。
Will give you the latest row in MySql.
您使用哪个数据库?实际上,您可以将两列转换为日期和时间格式后将其连接起来,然后按日期排序。这一切都可以在查询中实现。
Which database are you using? You can actually concat the two columns after converting them to a date and time format, and then order by date. All this can be achieved in query.