建立表数据如下:
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中这么乱搞,其实是可以乱搞的。