要查询订单数大于1的用户的总数,
两种方法,
1、
要求要用group by从句。
这个我实现了:
select count(count(o_custkey)) totalnum from orders
group by o_custkey having count(o_custkey)>1;2.
要求要有join操作,就是在explain for里,有join操作
有关的表:
desc orders:o_orderkey
o_custkey
...还请大侠帮忙看看

解决方案 »

  1.   

    1、
    要求要用group by从句。
    这个我实现了:
    select count(count(o_custkey)) totalnum from orders
    group by o_custkey having count(o_custkey)>1;select 订单数,count(*) from 表 group by 订单数 having count(*) >12.
    要求要有join操作,就是在explain for里,有join操作
    有关的表:
    desc orders:o_orderkey
    o_custkey
      

  2.   

    SELECT COUNT(DISTINCT O_CUSTKEY) TOTALNUMBER FROM ORDERS O1
    WHERE EXISTS (SELECT * FROM ORDERS O2
    WHERE O1.O_CUSTKEY = O2.O_CUSTKEY
    AND O1.O_ORDERKEY <> O2.O_ORDERKEY);
      

  3.   


    select count(count(o_custkey)) totalnum
      from orders
     group by o_custkey
    having count(o_custkey) > 1;
    这个效率应该是最好的了,干吗要用join呢?