表的结构大致如下:
卡号   交易日期   交易金额
123     1.1          111
123     1.1          59
456     1.1          110
123     1.2          36
123     1.2          78
456     1.2          89
456     1.2          55
每张卡号每天都会发生大量交易,现在想查询 所有单日有2笔或以上金额超过50元的交易情况
已商标为例,查询结果应该是
123     1.1          111
123     1.1          59
456     1.2          89
456     1.2          55另外还想查询3日有2笔或以上金额超过50元的交易情况

解决方案 »

  1.   

    SELECT 卡号, 交易日期 ,交易金额  FROM TB WHERE  交易金额 >=50 GROUP BY 卡号, 交易日期 HAVING COUNT( 交易金额 )>=2
      

  2.   

    select 
       卡号,交易日期,交易金额 
    from 
        tb 
    where 
        交易金额 > 50 
    group by 
        卡号,交易日期
    having 
        count(1)>=2
      

  3.   


    IF OBJECT_ID('table1') IS NOT NULL
    DROP TABLE table1
    GO
    CREATE TABLE table1( 卡号   varchar(12),   交易日期 varchar(12), 交易金额 int)
    go
    /*
    IF OBJECT_ID('table2') IS NOT NULL
    DROP TABLE table2
    GO
    CREATE TABLE table2( item_A  varchar(12),   [name] varchar(12),   docid varchar(12) )
    goIF OBJECT_ID('table3') IS NOT NULL
    DROP TABLE table3
    GO
    CREATE TABLE table3( docid  varchar(12),  des  varchar(12),    item_number varchar(12))
    go
    */
    insert table1 select
    '123' ,   '01-01'   ,       111 union all select 
    '123' ,   '01-01'  ,        59 union all select
    '456' ,   '01-01' ,         110 union all select
    '123' ,   '01-02' ,         36 union all select
    '123' ,   '01-02',          78 union all select
    '456' ,   '01-02',          89 union all select
    '456' ,   '01-02',          55 select t.* from table1 t
    join (
    select 卡号, 交易日期 from table1 
    where 交易金额>50
    group by 卡号, 交易日期 having(count(*)>1)
    )b
    on t.卡号=b.卡号 and t.交易日期=b.交易日期卡号           交易日期         交易金额
    ------------ ------------ -----------
    123          01-01        111
    123          01-01        59
    456          01-02        89
    456          01-02        55(4 行受影响)