You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PLSQL中如何按插入时间戳筛选电影评分表的对应记录

SQL查询问题解答

筛选16:00-16:10插入的前两条记录

首先明确前提:该查询依赖表中存在存储插入时间的字段,常见字段命名为create_time、insert_time,以下示例均使用create_time指代该字段。

通用查询逻辑

先限定时间范围为昨日16:00-16:10,按插入时间升序排序后取前2条,不同数据库的语法差异如下:

  • MySQL/PostgreSQL 写法(动态取昨日日期,无需手动填写):
SELECT ID, USER_REVIEW, USER_RATING, USER_ID, create_time
FROM 你的表名
WHERE DATE(create_time) = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
  AND TIME(create_time) BETWEEN '16:00:00' AND '16:10:00'
ORDER BY create_time ASC
LIMIT 2;
  • SQL Server 写法:
SELECT TOP 2 ID, USER_REVIEW, USER_RATING, USER_ID, create_time
FROM 你的表名
WHERE CAST(create_time AS DATE) = DATEADD(day, -1, CAST(GETDATE() AS DATE))
  AND CAST(create_time AS TIME) BETWEEN '16:00:00' AND '16:10:00'
ORDER BY create_time ASC;

特殊场景说明:如果你的表没有设计插入时间字段,仅能依赖自增ID和插入时间严格正相关的特性临时查询,该方案可靠性极低,不推荐在生产环境使用:

SELECT ID, USER_REVIEW, USER_RATING, USER_ID
FROM 你的表名
WHERE ID IN (1,2)
LIMIT 2;

插入时间戳查询说明

能不能查询到具体插入时间戳完全取决于表结构设计:

  • 建表时如果设置了带默认值的插入时间字段(默认值一般为当前时间,插入行时自动写入),就可以直接查询该字段拿到精确到秒/毫秒的插入时间戳
  • 如果没有单独设置插入时间字段,绝大多数关系型数据库不会默认存储行的插入时间,你无法从现有给出的ID、USER_REVIEW、USER_RATING、USER_ID四个字段中反推插入时间。仅能通过数据库操作日志、事务快照等底层数据回溯,该操作需要极高权限且复杂度很高,常规业务查询无法实现。

内容的提问来源于stack exchange,提问作者testFreak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 12:09:03