表A:epno epdate                  epmoney
001 2009-11-19 10:12:28.950  5.00
001 2009-11-19 10:13:28.950  2.00
002 2009-11-19 10:22:28.950  5.00
001 2009-11-20 10:05:28.950  5.00
002 2009-11-20 10:21:28.950  4.00
001 2009-11-21 10:09:28.950  3.00
002 2009-11-21 10:33:28.950  5.00
002 2009-11-21 12:44:28.950  2.00如何通过SQL语句查询到如下内容:
001 2009-11-19 7.00
001 2009-11-20 5.00
001 2009-11-21 3.00
002 2009-11-19 5.00
002 2009-11-20 4.00
002 2009-11-21 7.00

解决方案 »

  1.   

    select epno , convert(varchar(10),epdate,120) epdate,sum(epmoney) epmoney from a group by epno , convert(varchar(10),epdate,120)
      

  2.   

    SELECT epno,CONVERT(VARCHAR(10),epdate,120),SUM(epmoney)
    FROM A
    GROUP BY epno,CONVERT(VARCHAR(10),epdate,120)
      

  3.   

    SELECT epno,CONVERT(VARCHAR(10),epdate,120),sum(epmoney) 
    from [Table]
    group by epno,CONVERT(VARCHAR(10),epdate,120)
      

  4.   

    create table a(epno varchar(10),epdate datetime,                 epmoney decimal(18,2))
    insert into a values('001', '2009-11-19 10:12:28.950' , 5.00)
    insert into a values('001', '2009-11-19 10:13:28.950' , 2.00)
    insert into a values('002', '2009-11-19 10:22:28.950' , 5.00)
    insert into a values('001', '2009-11-20 10:05:28.950' , 5.00)
    insert into a values('002', '2009-11-20 10:21:28.950' , 4.00)
    insert into a values('001', '2009-11-21 10:09:28.950' , 3.00)
    insert into a values('002', '2009-11-21 10:33:28.950' , 5.00)
    insert into a values('002', '2009-11-21 12:44:28.950' , 2.00)
    goselect epno , convert(varchar(10),epdate,120) epdate,sum(epmoney) epmoney from a group by epno , convert(varchar(10),epdate,120) order by epno , epdatedrop table a/*
    epno       epdate     epmoney                                  
    ---------- ---------- ---------------------------------------- 
    001        2009-11-19 7.00
    001        2009-11-20 5.00
    001        2009-11-21 3.00
    002        2009-11-19 5.00
    002        2009-11-20 4.00
    002        2009-11-21 7.00(所影响的行数为 6 行)*/
      

  5.   

    IF OBJECT_ID('A') IS NOT NULL DROP TABLE A
    GO
    CREATE TABLE A(
    epno VARCHAR(50)
    ,epdate DATETIME
    ,epmoney  INT
    )
    INSERT INTO A
    SELECT '001','2009-11-19 10:12:28.950',  5.00 UNION ALL
    SELECT '001','2009-11-19 10:13:28.950',  2.00 UNION ALL
    SELECT '002','2009-11-19 10:22:28.950',  5.00 UNION ALL
    SELECT '001','2009-11-20 10:05:28.950',  5.00 UNION ALL
    SELECT '002','2009-11-20 10:21:28.950',  4.00 UNION ALL
    SELECT '001','2009-11-21 10:09:28.950',  3.00 UNION ALL
    SELECT '002','2009-11-21 10:33:28.950',  5.00 UNION ALL
    SELECT '002','2009-11-21 12:44:28.950',  2.00
    SELECT epno,CONVERT(VARCHAR(10),epdate,120),SUM(epmoney)
    FROM A
    GROUP BY epno,CONVERT(VARCHAR(10),epdate,120)
    /*
    epno                                                          
    -------------------------------------------------- ---------- -----------
    001                                                2009-11-19 7
    002                                                2009-11-19 5
    001                                                2009-11-20 5
    002                                                2009-11-20 4
    001                                                2009-11-21 3
    002                                                2009-11-21 7
    */