每月返回单个记录

时间:2019-08-07 15:55:54

标签: sql sql-server

我有一个用例函数,该函数只需要在每月的每个月末返回一行。

我尝试使用select unique,它显示了同一月底的多个记录

SELECT DISTINCT CASE
        WHEN eff_interest_balance < 0.01 THEN trial_balance_date
        WHEN date_paid < trial_balance_date THEN date_paid
    END as A
    , period 
FROM dbo.Intpayments[enter image description here][1]
WHERE loan_number = 60023
ORDER BY period ASC

每行应该返回每个月的单个日期

1 个答案:

答案 0 :(得分:1)

不同的是返回唯一的行,而不是将它们分组。您正在寻找汇总行。这意味着使用聚合函数和分组依据的某种组合。

当前查询所缺少的是某种逻辑,用于汇总同一时期中的行。您要比较这些值的总和吗?最小,最大?

在任何情况下,聚合和分组的基本概念都将如下所示-我认为这不是您想要的总和,但是查询显示了聚合和分组的基本概念:

SELECT
    period
    , SUM(eff_interest_balance) AS SumOfBalance
FROM dbo.Intpayments
WHERE loan_number = 60023
GROUP BY period
相关问题