sql查询以查找所有行的总和和重复的计数

ARK*_*ARK 5 sql sum duplicates

如果数据采用以下格式:

SID  TID  Tdatetime        QID   QTotal  
----------------------------------------
100  1    01/12/97 9:00AM  66    110   
100  1    01/12/97 9:00AM  66    110  
100  1    01/12/97 10:00AM 67    110  
100  2    01/19/97 9:00AM  66    .  
100  2    01/19/97 9:00AM  66    110  
100  2    01/19/97 10:00AM 66    110  
100  3    01/26/97 9:00AM  68    120  
100  3    01/26/97 9:00AM  68    120  
110  1    02/03/97 10:00AM 68    110  
110  3    02/12/97 9:00AM  64    115  
110  3    02/12/97 9:00AM  64    115  
120  1    04/05/97 9:00AM  66    105  
120  1    04/05/97 10:00AM 66    105  
Run Code Online (Sandbox Code Playgroud)

我希望能够编写一个查询来汇总所有行的QTotal列,并找到Tdatetime列的重复行数.

输出看起来像:

  Year   Total  Count
97 | 1340 | 4
Run Code Online (Sandbox Code Playgroud) 结果中的第三列不包括表中不同行的计数.输出按TDateTime列中的年份分组.

Zaf*_*fer 1

以下查询可能有帮助:

SELECT 
    'YEAR ' + CAST(sub.theYear AS VARCHAR(4)), 
    COUNT(sub.C), 
    (SELECT SUM(QTotal) FROM MyTable WHERE YEAR(Tdatetime) = sub.theYear) AS total
FROM 
   (SELECT 
        YEAR(Tdatetime) AS theYear, 
        COUNT(Tdatetime) AS C 
    FROM MyTable 
    GROUP BY Tdatetime, YEAR(Tdatetime)
    HAVING COUNT(Tdatetime) >= 2) AS sub
Run Code Online (Sandbox Code Playgroud)