gpt4 book ai didi

php - 根据另一个值更新最小值 - MySql

转载 作者:可可西里 更新时间:2023-11-01 07:06:11 26 4
gpt4 key购买 nike

我有一组信息,我正在将其分解为 ID、代码和数字。

list ($id,$code,$num) = explode("~",$data);

我需要根据唯一的 code 将其更新为 MySql,最小 num

假设我的前 3 个请求看起来像

id = 9267399
code = 5D:148
num = 64

id = 9267398
code = 5D:186
num = 71

id = 9267397
code = 5D:122
num = 93

然后我的第 4、5 个请求有重复代码 5D:148,id 和 num 不同。

id = 9267402
code = 5D:148
num = 22

id = 9267563
code = 5D:148
num = 5

现在我需要为重复的 code 找到 min(num) 并将该记录更新回 mysql。我的查询应该是这样的

$sql = "UPDATE table SET id = '9267398', num = '71' WHERE code = '5D:186' ";
$sql = "UPDATE table SET id = '9267397', num = '93' WHERE code = '5D:122' ";
$sql = "UPDATE table SET id = '9267563', num = '5' WHERE code = '5D:148' ";

这里 5D:148 有 3 个请求,其中 min(num) 是 5。

我已经尝试找到重复的代码

$temp = array();
foreach ($code as $c) {
isset($temp[$c]) or $temp[$c] = 0;
$temp[$c] ++;
}
var_dump($temp);

这是给了我

array(3) {["5D:148"]=> int(3) ["5D:186"]=> int(1) ["5D:122"]=> int(1)}  

我被困在这里如何找到 min(num) 并基于它运行我的更新查询

最佳答案

我认为有一个更简单的解决方案......事实上我只是测试了它......
更新表 SET id = '9267398', num = '71' WHERE code = '5D:186'
ORDER BY code ASC LIMIT 1;

关于php - 根据另一个值更新最小值 - MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31290134/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com