多个表查询最近的100条数据?

  1. 如何在ORACLE数据库多个表中查询最近的100条数据?比如A,B两张表,都有一个time字段,A和B两个表中最近的100条数据,而不是A中的最近100条和B中的最近100条。
阅读 6.4k
4 个回答
  1. 查询出A表和B表前一百条数据,组成临时表,然后在把临时表通过time过滤.
--sqlserver亲测有效

--查询的 A表 和 B表 [Id]、[Time] 字段必须一一对应

SELECT TOP 100 [Id],[Time] FROM
(
        SELECT [Id],[Time] FROM [Table_A] 

        UNION ALL

        SELECT [Id],[Time] FROM [Table_B] 

) [NewTable_V]

ORDER BY [Time] DESC

不知道SQL本身有没有什么好的方法,倒是可以变通一下:
找两个表中最近的100条数据,那么这100条数据必定在A的前100条和B的前100条当中。
很简单能够查出A和B的前100条数据,然后在业务逻辑中对这200条排序可得。

用两张表union 联合一下取最晚时间的一百条数据组成个临时表

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进