SQL选择最高时间戳为最低的记录

纳乔R

我有一个包含重复名称和时间戳的数据库,我想检索其时间戳是按名称分组的最低时间戳的记录。

table : people
+------------+-------------+
|  Name      |  Timestamp  |
+------------+-------------+
|   name1    |   0         |
|   name1    |   5         |
|   name2    |   2         |
|   name3    |   3         |
|   name2    |   1         |
+--------------------------+

对于处于这种状态的数据库,查询应返回“ name2,2”,因为name2的最大值是所有组最大值中的最小值。

自从我知道我已经做过类似的查询以来,我就一直在考虑很多,但是我的SQL技能太生锈了。

感谢任何花时间帮助的人:)

专线小巴

似乎您想要的名称的最大时间戳是最低的:如果是这样,则可以使用聚合和限制:

select name
from people
group by name
order by max(timestamp)
limit 1

如果您想允许可能的联系:

select name
from (
    select name, rank() over(order by max(timestamp)) rn
    from people
    group by name
) t
where rn = 1

另一方面,如果您想要整个记录,我会distinct on在Postgres中建议

select *
from (
    select distinct on (name) *
    from people
    order by name, timestamp desc
) t
order by timestamp
limit 1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

根据时间戳选择记录

如何选择时间戳之间状态的记录?T-SQL

根据最新时间戳选择记录

为表上的每个组选择最后一个时间戳(记录)

从SQLite表中选择一条记录-并检查其时间戳是否为最新的

火花流:为数据帧中的每个ID选择带有最大时间戳的记录(pyspark)

mysql选择时间戳距离为3分钟的记录

为每个员工选择一天中最早时间戳的完整记录

最高/最低pl / sql

在每个部分中选择最高的 10 条记录和最低的 10 条记录

从时间戳为最新的表中选择

2条记录时间戳sql的区别

在 SQL 中选择时间戳范围

在 SQL 中的表中选择具有约束时间戳差异(以秒为单位)的行

只选择最高记录

使用实体框架按时间戳列选择新记录

MySQL仅选择2天以上的最新记录(时间戳)

如何选择具有最新时间日期戳的记录

选择时间戳为今天的 Firebase Firestore 集合

SQL:选择 Distinct 和 Max 显示最低值而不是最高值

如何在30分钟的窗口中选择时间戳最高的行?

如何使用sql从oracle中的时间戳生成登录记录?

SQL查询可基于相邻记录插入时间戳

如何删除在特定列上具有相同值的重复记录并使用 pyspark 保留具有最高时间戳的记录

PostgreSQL时间戳选择

SQL - 获取列中值最高的记录,然后选择这些记录中的最新记录

Erlang-获取最高记录和最低记录

优化查询 - 如何从日期时间列中选择最高和最低行,按日期分组并返回数组

选择“第二”最高的记录