一:购物人        商品         数量
A             甲            1
B             乙            2
C             丙            5
A             丁            4
B             甲            3
D             乙            8
结果:所有购入商品为两种或两种以上的购物人记录.
select * from table where count(购物人)>=2
这样对吗?二:
time        result       
2009-1-2      胜        
2009-1-2      胜         
2009-1-2      负            
2009-1-3      胜            
2009-1-3      负            
2009-1-3      胜    
2009-1-4      负        
结果要是这样的:
time       胜   负
2009-1-2   2     1
.............
.....
怎么实现啊?

解决方案 »

  1.   

    问题一:
    实测数据:CREATE TABLE T54
    (
        购物人 VARCHAR2(20),
        商品  VARCHAR2(20),
        数量  NUMBER(4)
    );
    INSERT INTO T54 VALUES('A', '甲', 1);
    INSERT INTO T54 VALUES('B', '乙', 2);
    INSERT INTO T54 VALUES('C', '丙', 5);
    INSERT INTO T54 VALUES('A', '丁', 4);
    INSERT INTO T54 VALUES('B', '甲', 3);
    INSERT INTO T54 VALUES('D', '乙', 8);
    实测结果:
      

  2.   

    问题二:
    实测数据CREATE TABLE T56
    (
        MyTime DATE,
        res     VARCHAR2(20)
    );INSERT INTO T56 VALUES(to_date('2009-01-02', 'YYYY-MM-DD'), '胜');
    INSERT INTO T56 VALUES(to_date('2009-01-02', 'YYYY-MM-DD'), '胜');
    INSERT INTO T56 VALUES(to_date('2009-01-02', 'YYYY-MM-DD'), '负');
    INSERT INTO T56 VALUES(to_date('2009-01-03', 'YYYY-MM-DD'), '胜');
    INSERT INTO T56 VALUES(to_date('2009-01-03', 'YYYY-MM-DD'), '负');
    INSERT INTO T56 VALUES(to_date('2009-01-03', 'YYYY-MM-DD'), '胜');
    INSERT INTO T56 VALUES(to_date('2009-01-04', 'YYYY-MM-DD'), '负');
    实测结果: