Ho un set di informazioni, che sto esplodendo per id, codice e numero.Aggiornamento valori minimi in base a un altro valore - MySql
list ($id,$code,$num) = explode("~",$data);
ho bisogno di aggiornarlo a MySQL sulla base di unico code
con un minimo di num
Per supporre i miei primi 3 richieste assomiglia
id = 9267399
code = 5D:148
num = 64
id = 9267398
code = 5D:186
num = 71
id = 9267397
code = 5D:122
num = 93
Poi il mio 4 °, 5 ° richieste ha duplicato di codice 5D:148
con diversi ID e numeri.
id = 9267402
code = 5D:148
num = 22
id = 9267563
code = 5D:148
num = 5
Ora ho bisogno di trovare min(num)
per duplicato code
e aggiornare il record di nuovo a mysql. Le mie query dovrebbe essere simile
$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' ";
qui 5D:148
dispone di 3 richieste in cui min(num)
è 5.
ho cercato di trovare il duplicato code
$temp = array();
foreach ($code as $c) {
isset($temp[$c]) or $temp[$c] = 0;
$temp[$c] ++;
}
var_dump($temp);
Questo mi sta dando
array(3) {["5D:148"]=> int(3) ["5D:186"]=> int(1) ["5D:122"]=> int(1)}
Sono bloccato qui come faccio trovare min(num)
ed eseguire la mia query di aggiornamento basata su di esso
Vuoi avere nel DB il "numero" minimo per un "codice" che hai ricevuto o il minimo per uno script eseguito (sessione)? – teo
ho bisogno in DB. non è possibile utilizzare sessioni poiché ci sono molte richieste da gestire alla volta. – Matarishvan
Per ogni richiesta, provare prima ad archiviarlo su un array e, se esiste già, confrontare il num. Se è