2012-04-03 165 views
4

我有兩列(column1,column2)在我的oracle數據庫中表名爲demo。我想選擇具有不同column2的相同column1。來自oracle數據庫的sql查詢

SQL> select * from demo; 

column1 | column2 
--------|-------- 
A  | 10   
A  | 20 
A  | 30 
A  | 30 

我想count(*)以下的輸出:

column1 | column2 
--------|-------- 
A  | 10   
A  | 20 

我怎麼能這樣做呢?任何幫助深表感謝

+2

你的意思是,如果在'值column1'在'column2'正確的值不同?那麼我認爲你的'select *'中的第三行應該是A以外的東西? – jb10210 2012-04-03 11:07:57

+0

您可以使用COUNT運算符和GROUP BY和HAVING構造 – 2012-04-03 11:11:27

+0

@ jb10210執行此操作,您靠近右側,但「A means」不是?我的數據庫中有上述記錄模式 – saroj 2012-04-03 11:14:03

回答

2

嘗試:

select column1, column2 
from myTable 
group by column1, column2 
having count(*) = 1 
+0

爲什麼這個查詢會導致所需的輸出? – 2012-04-03 11:28:06

+0

謝謝馬克,但輸出即將到來'A 30' – saroj 2012-04-03 11:28:44

+0

@saroj:糾正的查詢。 (需要咖啡...) – 2012-04-03 11:29:49