Sql 每月返回单个记录

Sql 每月返回单个记录,sql,sql-server,Sql,Sql Server,我有一个用例函数,它只需要在每个月末返回一行 我尝试使用select distinct,它显示了同一个月末的多条记录 选择不同的大小写 当有效利息余额

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

我尝试使用select distinct,它显示了同一个月末的多条记录

选择不同的大小写
当有效利息余额<0.01时,则为试算余额日期
当支付日期<试算平衡日>则支付日期
结束
时期
从dbo.Intpayments[在此处输入图像描述][1]
其中贷款编号=60023
按时段排序ASC

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

Distinct正在返回唯一的行,而不是对它们进行分组。您希望聚合行。这意味着使用聚合函数和group by的某种组合

当前查询缺少的是某种逻辑,用于聚合同一时间段内的行。是否要比较这些值的总和?最小值,最大值

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

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

. . 用您正在使用的数据库标记您的问题。同时,提供样本数据和期望的结果。嗨,中岛幸惠,谢谢你,我也在考虑使用马克斯,因为它需要得到一个月的最后付款日期。重要的是,你需要考虑你(可能)在多行上运行。因此,您选择的所有内容都需要成为分组的一部分(列在group by中)或以某种方式聚合(sum、avg、min、max等)这里是更新后的查询。。。选择DISTINCT period,case when max(eff_interest_balance)<0.01然后选择max(试用余额_date),case when max(date_payment)