我需要使用下表并显示2018年日期的每个ClaimID的总InjuryPaymentAmt ...我使用以下代码,但我无法将ClaimID1作为单个值输出(而不是三个)< / p>
maxStatements
更新 - 我有一个类似的表“PropertyClaimPmt”,我试图加入这些表,希望得到类似的结果。我希望一列中的ClaimID和另一列中的声明总数 - 但它们需要2018年。我尝试了一个联合,但它从一个表中删除一个值,而不是从另一个表中总结一个不同的值
Select SUM(InjuryPaymentAmt) as TotalClaims2018, ClaimID
from PersonalInjuryPmt
where InjuryPaymentDate between '2017-12-30' and '2018-12-28'
group by InjuryPaymentDate, ClaimID;
答案 0 :(得分:1)
您应该只按ClaimID
:
SELECT SUM(InjuryPaymentAmt) as TotalClaims2018, ClaimID
FROM PersonalInjuryPmt
WHERE YEAR(InjuryPaymentDate) = 2018
GROUP BY ClaimID;
答案 1 :(得分:0)
$.ajax({
type: 'post',
data: 'username='+username+'&password='+password,
url: '/account/login.php',
async: false,
success: successFunction,
error: errorFunction
});
function successFunction(response){
$("#WrongPW_Error").fadeOut("fast");
$("#Empty_Error").fadeOut("fast");
$("#LoggedIn").fadeIn("fast");
setTimeout(location.reload(),2200);
}
function errorFunction(response){
$("#WrongPW_Error").fadeOut("fast");
$("#Empty_Error").fadeIn("fast");
}
指定结果集中的行。按键分组(存在于数据中)的每个唯一组合都在结果集中,每行一个组合。因为您需要每GROUP BY
行一行,这应该是ClaimId
中的唯一一列。
我通常将聚合键列放在GROUP BY
中,然后是聚合表达式:
SELECT
由于有和没有时间组件的日期之间的混淆,将日期逻辑写为:
更安全Select ClaimID, SUM(InjuryPaymentAmt) as TotalClaims2018
from PersonalInjuryPmt
where InjuryPaymentDate between '2017-12-30' and '2018-12-28'
group by ClaimID;
即使Select ClaimID, SUM(InjuryPaymentAmt) as TotalClaims2018
from PersonalInjuryPmt
where InjuryPaymentDate >= '2017-12-30' and
InjuryPaymentDate < '2018-12-29'
group by ClaimID;
有时间组件,这也会有效。