如何基于api_requested_at字段查询PostgreSQL表中最早的行?
查询表中最早请求的行
要获取words表中api_requested_at最早的行,有两种常用实现方式,可根据需求选择:
方式一:获取单条最早的行(适合仅需一条结果)
如果只需要任意一条最早请求的记录(即使存在多条时间相同的最早记录),可以用ORDER BY配合LIMIT 1:
SELECT * FROM words ORDER BY api_requested_at ASC LIMIT 1;
ASC是升序排序,会把时间最早的行排在最前面,LIMIT 1只取第一行。
方式二:获取所有最早请求的行(包含多条时间相同的记录)
如果表中存在多条api_requested_at同为最早值的记录,想要全部获取,先用子查询找到最小的时间值,再筛选匹配的行:
SELECT * FROM words WHERE api_requested_at = ( SELECT MIN(api_requested_at) FROM words );
MIN(api_requested_at)会计算出表中最早的请求时间,外层查询返回所有符合这个时间的记录。
注意:你的示例中写的是processed_words,但表结构定义的是words,要确保SQL中的表名与实际表名一致。
内容的提问来源于stack exchange,提问作者Peter Penzov
相关产品推荐
相关产品推荐

