2015-06-19 70 views
1

我有這個表MySQL的:問題與GROUP BY和COUNT子句

enter image description here

我想顯示至少有兩種不同類型的產品(它們的類型)。

這裏:

enter image description here

我已經試過這樣:

SELECT PRODUCT, TYPE FROM MYTABLE 
group by PRODUCT, TYPE 
HAVING count(PRODUCT) > 1; 

,但它不給我我想要的結果。

+0

你可以創建一個[sqlfiddle(http://sqlfiddle.com/) – Jens

+0

那就是:http://sqlfiddle.com/# !9/8c032/2 – user1260928

+0

例如'從my_table中選擇不區分x.product,x.type x在y.product = x.product和y.type <> x.type'上加入my_table y – Strawberry

回答

4

這裏的問題是你想通過一個不同的分組計數,而不是你想要顯示的。解決此問題的辦法是二者在子查詢計數:

SELECT DISTINCT product, type 
FROM mytable 
WHERE product IN (SELECT product 
        FROM  mytable 
        GROUP BY product 
        HAVING COUNT(DISTINCT type) > 1) 
+0

按產品添加_Group,最後輸入type_ –

+0

@明顯,這是更簡單:-)(和謝謝,順便說一句) – Mureinik

+0

yeap你是對的! –