鍍金池/ 問答/數(shù)據(jù)庫/ 多個(gè)表查詢最近的100條數(shù)據(jù)?

多個(gè)表查詢最近的100條數(shù)據(jù)?

  1. 如何在ORACLE數(shù)據(jù)庫多個(gè)表中查詢最近的100條數(shù)據(jù)?比如A,B兩張表,都有一個(gè)time字段,A和B兩個(gè)表中最近的100條數(shù)據(jù),而不是A中的最近100條和B中的最近100條。
回答
編輯回答
亮瞎她
  1. 查詢出A表和B表前一百條數(shù)據(jù),組成臨時(shí)表,然后在把臨時(shí)表通過time過濾.
2017年11月29日 20:45
編輯回答
毀憶

不知道SQL本身有沒有什么好的方法,倒是可以變通一下:
找兩個(gè)表中最近的100條數(shù)據(jù),那么這100條數(shù)據(jù)必定在A的前100條和B的前100條當(dāng)中。
很簡單能夠查出A和B的前100條數(shù)據(jù),然后在業(yè)務(wù)邏輯中對這200條排序可得。

2017年10月31日 20:24
編輯回答
巷尾

用兩張表union 聯(lián)合一下取最晚時(shí)間的一百條數(shù)據(jù)組成個(gè)臨時(shí)表

2017年1月31日 11:52
編輯回答
孤星
--sqlserver親測有效

--查詢的 A表 和 B表 [Id]、[Time] 字段必須一一對應(yīng)

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
2017年7月6日 19:53