没有附加查询的答案?

我的数据在两个表中。这两个表的格式如下:

没有附加查询的答案?

没有附加查询的答案?

我必须找出所有年龄在25至35岁之间的客户,发现这些客户从数据中提供的最大交易日期算起,最近30天的交易总净收入是多少?

我写了下面的代码

SELECT      
TOP 1       YEAR(T2.TRAN_DATE)[TRAN_YEAR],MONTH(T2.TRAN_DATE)[TRAN_Month],SUM(T2.Total_amt)[REVENUE]  
FROM        TRANSactIONS T2
RIGHT JOIN  CUSTOMER T1
ON          T1.CUSTOMER_ID = T2.CUST_ID
WHERE       DATEDIFF(YY,T1.DOB,GETDATE()) BETWEEN 25 AND 35
GROUP BY    YEAR(T2.TRAN_DATE),MONTH(T2.TRAN_DATE)
ORDER BY    YEAR(T2.TRAN_DATE) DESC,MONTH(T2.TRAN_DATE) DESC

我的查询有效,但是当我在excel上计算相同的内容时,给出了不同的答案。

我无法弄清楚我的错误。

zhtang0526 回答:没有附加查询的答案?

我期望这样的查询:

FooExt.kt

请注意,它使用直接日期比较而不是SELECT SUM(T.Total_amt) as REVENUE] FROM TRANSACTIONS T JOIN CUSTOMER c ON c.CUSTOMER_ID = t.CUST_ID WHERE c.DOB >= DATEADD(YEAR,-35,GETDATE()) AND c.DOB < DATEADD(YEAR,-24,GETDATE()) AND t.TRAN_DATE > DATEADD(DAY,-30,GETDATE()); 。这些通常更准确。

本文链接:https://www.f2er.com/3165397.html

大家都在问