使用聚合函数的SQL Join查询

时间:2017-05-26 13:00:47

标签: sql tsql

我有月度表和每日表。我需要根据用户ID,交易提交日期,总金额比较记录计数,即交易提交日期和用户ID,我需要知道记录的数量和总金额的总和。

your_application.get_active_window()

如果我有这样的表。需要根据交易提交日期和行数(即

)汇总总金额
Transaction submit date     Cust Number Total amount
1/1/2017                       700           0.7
1/1/2017                       700           0.7
1/1/2017                       700           0.7
1/1/2017                       700           0.7
1/1/2017                       700           0.7
1/1/2017                       700           0.7
1/1/2017                       700           0.7
1/1/2017                       797           0
1/1/2017                       797           1.4
1/1/2017                       797           1.6

明智地为日常和日常做每月表并想要结果。 因此,我知道特定交易日期,每月和每日特定客户ID的行数是多少。 我可以单独为两个表导出结果excel和比较。但是,想知道我们能否在一次查询中处理这个问题。

2 个答案:

答案 0 :(得分:0)

   SELECT DATE
        ,Number
        ,Count(Total)
        ,SUM(Total)
   FROM myTable
   GROUP BY DATE
        ,Number

答案 1 :(得分:0)

请尝试This,Crete Monthly和Daily CTES并加入他们,这将给出相同的记录。

 With Montyly as
 (
 SELECT Montyly
      ,Number
    ,Count(Total) MCount
    ,SUM(Total) MTotal
  FROM myTable
  GROUP BY DATE
    ,Number
 ),
With Daily as
(
SELECT DATE
    ,Number
    ,Count(Total) DCount
    ,SUM(Total) DTotal
FROM myTable
GROUP BY DATE
    ,Number
 )

select * from 
Montyly M inner join Daily D on
M.Date=D.Date and M.Number=D.Number and M.MCount=D.DCount and M.MTotal.D.DTotal