我想從一個類似於表得到「最上面的」數據:如何獲得「最上面的」數據
A B C | Id 1 2 3 | 1 4 5 | 1 6 | 1
AC =列
1-6值(場未設置爲空)
數據是根據它降序排列的ID序列
當我查詢我想獲得最新的寫入的數據,在這個例子中,查詢應該給我1,4和6單排:
a b c | Id 1 4 6 | 1
這是我做過嘗試,但後來我得到正確的結果,但在不同的行:
select * from
(select id, a from dataTable where id=(select max(dt.dataRow) from dataTable dt where dt.id = 1)) a_query
full outer join
(select id, b from dataTable where id=(select max(dt.dataRow) from dataTable dt where dt.id = 1)) b_query
on a_query.id=b_query.id
full outer join
(select id, c from dataTable where id=(select max(dt.dataRow) from dataTable dt where dt.id = 1)) c_query
on nvl(a_query.id, b_query.id)=c_query.id
優選的Oracle SQL
感謝您的回答,但我仍然得到這個解決方案,我想散佈這兩行之間的數據過多行。 –
我不確定你的意思是「過多的行」或數據在兩行之間傳播?用更具體的例子來展示你的模式會很有幫助。 – LittleBobbyTables
如果你有多個「ID」,那麼你將有超過1行,但它是有道理的......結果按ID – jazzytomato