建立表数据如下:
CREATE TABLE T_INF(CUST_ID INT,CUST_NM VARCHAR(40),sex VARCHAR(20),sex_nm VARCHAR(10),OWER VARCHAR(100),TYPE VARCHAR(80),TYPE_NM VARCHAR(80)); INSERT INTO T_INF VALUES(1,'郭靖','01','男','苹果','01','水果'), (2,'黄蓉','02','女','苹果','01','水果'), (3,'杨过','01','男','苹果','01','水果'), (4,'郭芙','02','女','橘子','01','水果'), (5,'郭襄','02','女','番茄','02','蔬菜'); (6,'赵高','03','变异体','番茄','02','蔬菜');
1.需求描述
查询出”性别相同,拥有不同物品类型的性别”
2.解决办法
SELECT SEX FROM T_INFGROUP BY SEX HAVING(COUNT(DISTINCT TYPE)>1)
上面这个SQL虽然简单,但是在实际使用的时候,会犯糊涂,个人觉得不可以在HAVING中这么乱搞,其实是可以乱搞的。