问题描述
在 sql 中处理此问题时遇到问题。有一张与客户相关的支票金额表。如果我想给他们每个要支付的唯一数字,我无法弄清楚如何仅通过更新语句而不是逐行进行(有大量数据)
我必须按一定的标准分组,然后付款,但不能超过 10000 美元。
表格
customer CheckAmount
a 4000
a 5000
a 2001
b 3333
c 8000
d 11000
在我更新之后它应该是这样的:
customer checkamount paymentnumber
a 4000 1
a 5000 1
a 2001 2
b 3333 3
c 8000 4
d 11000 5
这是否可以仅在更新语句中实现?
解决方法
如果有另外一列按时间标识交易,这个问题就可以解决,像这样:
{
"StartAt": "ValidateWorkcellConfigTask","States": {
"ValidateWorkcellConfigTask": {
"Next": "ConfigValidationTypeChoiceState","Parameters": {
"FunctionName": "ValidateWorkcellConfig","Payload.$": "$"
},"OutputPath": "$","Type": "Task","Resource": "arn:aws:states:::lambda:invoke","TimeoutSeconds": 15
},"ConfigValidationTypeChoiceState": {
"Type": "Choice","Comment": "Forwards a VALID workflow config to the Provisioning Workflow or Relays the INVALID workflow config for logging","Choices": [
{
"Variable": "$.uuid","StringEquals": "SEA90-1","Next": "endState"
},{
"Variable": "$.validConfig","Next": "SuccessRelayTask"
}
]
},"endState": {
"Type": "Pass","End": true
},"SuccessRelayTask": {
"End": true,"Parameters": {
"FunctionName": "StatusRelayHandler","ResultPath": "$","TimeoutSeconds": 15
}
}
}
那么更新语句可能是这样的:
transaction_num customer checkamount
1 a 4000
2 a 5000
3 a 2001
4 b 3333
5 c 8000
6 d 11000