我有一个用例函数,该函数只需要在每月的每个月末返回一行。
我尝试使用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
每行应该返回每个月的单个日期
答案 0 :(得分:1)
不同的是返回唯一的行,而不是将它们分组。您正在寻找汇总行。这意味着使用聚合函数和分组依据的某种组合。
当前查询所缺少的是某种逻辑,用于汇总同一时期中的行。您要比较这些值的总和吗?最小,最大?
在任何情况下,聚合和分组的基本概念都将如下所示-我认为这不是您想要的总和,但是查询显示了聚合和分组的基本概念:
SELECT
period
, SUM(eff_interest_balance) AS SumOfBalance
FROM dbo.Intpayments
WHERE loan_number = 60023
GROUP BY period