注册 登录
编程论坛 Oracle论坛

关于having count 的问题,请高手赐教,谢谢!

哈狄斯 发布于 2010-11-22 18:56, 1867 次点击
查询一个业务员至少卖三种以上商品的业务员编号及商品编号

create table shop_xs
(
 id number(3) not null,           商品编号
 sale number(5),
 quantity number(5),
 date2 date,
 ywid number(3) not null,         业务员编号
 foreign key(id) references shop_jb,
 foreign key(ywid) references shop_yw


数据

       ID    SALE    QUANTITY    DATE2    YWID
1    101    3000    100    1992-5-10    2
2    102    6000    50    2005-3-25    3
3    102    6000    10    2005-3-26    1
4    103    2010    15    2008-7-14    4
5    104    7000    150    2009-6-28    5
6    101    3000    100    1992-5-10    2
7    102    3000    100    1992-5-10    2
8    101    3000    100    1992-5-10    3
9    103    3000    100    1992-5-10    3
10    101    3000    100    1992-5-10    4
11    102    3000    100    1992-5-10    4


select DISTINCT a.id,a.ywid from shop_xs a join shop_xs b on a.id <> b.id and a.ywid = b.ywid
group by a.id,a.ywid
having count(a.ywid)>=3

为什么我查询的结果没有数据啊,急!请大侠赐教!!!谢谢
4 回复
#2
南川2010-11-23 13:53
程序代码:
select ywid,id
from shop_xs
where ywid in
(
    select ywid
    from shop_xs
    group by ywid
    having COUNT(ID)>=3
)
ORDER BY ywid,id
SQL Server里边做的,参考下吧。你的连接貌似会把数据放大的,没细看
#3
哈狄斯2010-11-23 17:26
谢谢你,不过你的回答是不正确的,题目是【一个业务员至少卖三种以上商品】,你的是一种商品卖三次以上!不过还是很感谢你!
#4
南川2010-11-23 17:31
回复 3楼 哈狄斯
伐客气!这里只是提供交流和参考方法的地方,可不是放试题答案的地方哦。
#5
edward90922012-10-14 15:22
  SELECT SX.YWID
    FROM SHOP_XS SX
GROUP BY SX.YWID
  HAVING COUNT(DISTINCT SX.ID);
1