本帖最后由 window09 于 2009-12-11 14:05:38 编辑

解决方案 »

  1.   

    select a.用户,a.产品,a.数量 from tt a inner join
    tt b on a.用户=b.用户 and a.数量<=b.数量 group by a.用户,a.产品,a.数量
    having count(b.数量)<=2
      

  2.   

    or
    select a.用户,a.产品,a.数量 from tt a 
    where 2<=(select count(*) from tt b where a.用户=b.用户 and a.数量 <=b.数量 )
    group by a.用户,a.产品,a.数量 
      

  3.   

    select *
    from talbe1 a
    where 2>(select count(*) from talbe1 where 用户=a.用户 and 数量>a.数量)
    order by 用户,数量 desc
      

  4.   


    mysql> select * from t_window09;
    +------+-------+------+
    | 用户 | 产品  | 数量 |
    +------+-------+------+
    | A    | 产品1 |   10 |
    | A    | 产品2 |   10 |
    | A    | 产品3 |   15 |
    | B    | 产品1 |   15 |
    | B    | 产品2 |   30 |
    | B    | 产品3 |   15 |
    +------+-------+------+
    6 rows in set (0.06 sec)mysql> select *
        -> from t_window09 a
        -> where 2>(select count(*) from t_window09 where 用户=a.用户 and (数量>a.
    量 or 数量=a.数量 and 产品>a.产品) )
        -> order by 用户,数量 desc;
    +------+-------+------+
    | 用户 | 产品  | 数量 |
    +------+-------+------+
    | A    | 产品3 |   15 |
    | A    | 产品2 |   10 |
    | B    | 产品2 |   30 |
    | B    | 产品3 |   15 |
    +------+-------+------+
    4 rows in set (0.11 sec)mysql>
      

  5.   

    1。创建临时表,(这个你已经提到了)
    2。创建VIEWcreate view kk as select ...