2017-08-09 36 views

回答

1
SELECT DISTINCT * 
FROM (SELECT C2 
     FROM table1 WHERE C1='XX' 

     UNION 

     SELECT C1 
     FROM table1 WHERE C2='XX') t; 
+0

謝謝偉大工程 –

1

您可以使用下面的查詢:

SELECT DISTINCT IF(C1 <> 'XX', C1, C2) 
FROM mytable 
WHERE 'XX' IN (C1, C2); 

Demo here

+0

完全按照需要工作謝謝,是否可以維護此結果集,同時添加第三列時間戳,顯示每個不同結果的該列的最新時間戳?我嘗試了SELECT DISTINCT IF(C1 <>'XX',C1,C2),時間戳 FROM mytable WHERE'XX'IN(C1,C2)order by timestamp desc and it gave me duplicates again –

+0

@RayAndison'DISTINCT' is應用於'SELECT'子句中的* all *字段。 –

+0

好的,謝謝,我將針對您的第一個查詢的每個不同結果運行一個嵌套的第二個查詢,該查詢會爲每個結果請求最新的時間戳。即SELECT timestamp FROM mytable,其中C1 ='firstqueryresult'|| C2 ='firstqueryresult'ORDER BY timestamp DESC,然後爲每個應用第一個結果,這應該得到我需要的結果。問候 ;) –

相關問題