2014-01-21 35 views
0

我有一個表,該表是這樣的:與條件選擇只有兩排

id title 
11 test 
22 test 
33 dummy 
37 dummy 
35 dummy 
44 abc 
45 abc 

後選擇我只需要像這樣的:

id title 
11 test 
22 test 
44 abc 
45 abc 

我寫這樣的:

select * from content having count(*)=2 group by id, title 

但我不知道爲什麼它沒有返回預期的結果..

+0

正如你可以通過回答這個問題看,你將不得不澄清你的問題多一點..難道這些僅列?這是列標題唯一可能的值嗎? – NickyvV

+2

期望的結果是'id'和'title'所有標題恰好發現2次在表中。 – PinnyM

回答

4

您需要從GROUP BY子句,這意味着你不能守在SELECT子句(SQL Server和大多數的DBMS)中刪除id。因此,在這樣的子查詢中包裝。

select * from content where title in (
    select title 
    from content 
    group by title 
    having count(*)=2 
) 
3

但我不知道爲什麼它不返回預期結果

因爲當你按IDtitleHAVING子句將只計算這兩個領域的獨特組合。它不只是計算的記錄#每個title

我想你想要這樣的:

select * from content 
WHERE title in 
(SELECT title 
    FROM content 
    group by title 
    having count(*)=2 
)