比较同一列相同表中的值

时间:2014-02-21 23:28:00

标签: mysql sql select where-in

我的桌子是

  

产品(制造商,型号,类型)

我想选择只有相同类型的类型和制造商,并且还要计算大于一的模型数。

示例数据:

maker             model         type
-------------------------------------
 A                 123        computer
 B                 234         laptop
 B                 345         laptop
 C                 456         printer
 C                 543           PC

以上样本数据的答案是B和笔记本电脑,因为制造商B只生产笔记本电脑和多个型号。它不是制造商A,因为即使他生产相同类型的产品,他也只有一种型号。

2 个答案:

答案 0 :(得分:2)

这很容易。您正在寻找记录数量> gt的制造商1和不同类型的计数= 1:

select maker
from product
group by maker
having count(distinct type) = 1 and count(*) > 1;

答案 1 :(得分:0)

试试这个:

SELECT maker 
FROM Product
GROUP BY maker, type
HAVING COUNT(1) > 1