2012-12-19 72 views
-8

從表中的數據我有類似下面的表中的數據。我想檢索格式

column1 | column2 | column3 

123  234  1234567890 
123  234  1234567892 
234  123  1234567893 
345  234  1234567894 
345  123  1234567895 

我所要的輸出是以下格式

234 123 1234567893 
345 234 1234567894 
345 123 1234567895 

誰能告訴我如何編寫一個查詢檢索在上述指定格式的數據..

+1

目前還不清楚你想要什麼。爲什麼結果集中只有三行?應該選擇哪三行? –

+1

既不清楚你已經嘗試過或在哪個數據庫引擎中執行此操作:) – povilasp

+0

對不起,在上面的查詢中沒有正確解釋....我想要從表中檢索數據,第一和第二行,如果我們在表中有多個唯一的一對,然後我想從表中檢索最新記錄... – vinod

回答

0

如果我的理解正確的,這是你想要的,

select b.column2,b.column1,max(b.column3) column3 from table1 a, table1 b 
where a.column1=b.column2 group by b.column2,b.column1; 
+0

請問上述查詢檢索唯一一對從表中的數據,假設如果我有一個值在第一行第二列「A」中的第一行第一列中,「B」,並在第二行第一列中的值「B」 ,'A'在第二行第二列。我想從表中找到一條記錄。 – vinod

+0

然後你需要這樣做,讓我編輯我的答案 – Mari

0

的唯一項目對能夠與找到SELECT列1,列2,MAX(ROWID)GROUP BY列1,列2; ROWID在每次插入遞增,但並不完全等同於最新的。

第一查詢的結果現在可以用於創建所需的結果。

SELECT t1.column1, t1.column2, t1.column3 FROM tbl AS t1 JOIN (SELECT column1, column2, ROWID AS ID FROM tbl GROUP BY column1,column2) AS t2 ON t1.ROWID = t2.ID;