我有這個表MySQL的:問題與GROUP BY和COUNT子句
我想顯示至少有兩種不同類型的產品(它們的類型)。
這裏:
我已經試過這樣:
SELECT PRODUCT, TYPE FROM MYTABLE
group by PRODUCT, TYPE
HAVING count(PRODUCT) > 1;
,但它不給我我想要的結果。
我有這個表MySQL的:問題與GROUP BY和COUNT子句
我想顯示至少有兩種不同類型的產品(它們的類型)。
這裏:
我已經試過這樣:
SELECT PRODUCT, TYPE FROM MYTABLE
group by PRODUCT, TYPE
HAVING count(PRODUCT) > 1;
,但它不給我我想要的結果。
這裏的問題是你想通過一個不同的分組計數,而不是你想要顯示的。解決此問題的辦法是二者在子查詢計數:
SELECT DISTINCT product, type
FROM mytable
WHERE product IN (SELECT product
FROM mytable
GROUP BY product
HAVING COUNT(DISTINCT type) > 1)
你可以創建一個[sqlfiddle(http://sqlfiddle.com/) – Jens
那就是:http://sqlfiddle.com/# !9/8c032/2 – user1260928
例如'從my_table中選擇不區分x.product,x.type x在y.product = x.product和y.type <> x.type'上加入my_table y – Strawberry