我有PostgreSQL表:
Username1 SomeBytes1
Username2 SomeBytes1
Username1 SomeBytes1
Username1 SomeBytes1
Run Code Online (Sandbox Code Playgroud)
我需要从名称为 Username1 但从表的末尾获取一些行。例如,我需要最后到带有 Username1 的行
select from my_table where user = Username1 LIMIT 2
Run Code Online (Sandbox Code Playgroud)
给我前两行,但我需要最后两行。
我该如何选择它?
谢谢你。
表中的第一个和最后一个非常随意。为了获得良好的可预测结果,您应该始终有一个order by子句。如果你有那个,那么获得最后两行将变得容易。
例如,如果您有一个主键或类似 ID(由序列填充)之类的东西,那么您可以执行以下操作:
select * from my_table where user = 'Username1' order by ID desc limit 2.
Run Code Online (Sandbox Code Playgroud)
desc 告诉数据库以相反的顺序对行进行排序,这意味着最后一个将在前。
| 归档时间: |
|
| 查看次数: |
5349 次 |
| 最近记录: |