create table abc (id int identity(1,1) primary key, a nvarchar(10) not null, b nvarchar(10) not null) insert into abc values ('A', '诺基亚'); insert into abc values ('B', '三星'); insert into abc values ('C', '诺基亚'); insert into abc values ('D', 'HTC'); insert into abc values ('A', '魅族'); insert into abc values ('D', '小米'); insert into abc values ('B', '三星');
查询2种以上手机的记录,如以上信息中的B为不符合要求。
sorry,多了个列字。
问题不是很明白,什么叫"列2种以上手机"?
是说abc中的b出现,并且a不同吗?
B不符合,是不是C也不符合?
select a,b from abc where a in (select a from (select distinct a,b from abc) tmp group by a having count(1)>=2)
对吗?
悲剧,是不是没给分啊,博文还不太会用。
感谢!
select a from (select distinct a,b from abc) tmp group by a having count(1)>=2
就是答案,看来自己太水了,竟然没见过 distinct 关键字。
@sanmi: 给分了,呵呵,多用用就好了,我以前也是啥都不会.
我竟然没看明白 问题是什么?