Mise à jour des valeurs de table avec des fonctions d'agrégation en SQL
En SQL, le but est de modifier la colonne field1 d'une table1 à l'aide d'une fonction d'agrégation , tel que SUM, pour calculer les valeurs d'une table associée2. Cependant, l'implémentation directe peut rencontrer des limitations en raison d'opérations non prises en charge dans la clause SET.
Pour résoudre ce problème, une approche alternative est utilisée. Nous utilisons une sous-requête pour précalculer les valeurs agrégées, puis utilisons ce résultat comme source pour la mise à jour. Dans ce cas, nous calculons la somme de table2.field2 pour chaque valeur unique de field3 à l'aide de GROUP BY.
Voici une requête révisée qui intègre cette technique :
<br> MISE À JOUR t1<br>SET t1.field1 = t2.field2Sum<br>FROM table1 t1<br>INNER JOIN (</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">SELECT field3, SUM(field2) AS field2Sum FROM table2 GROUP BY field3
) AS t2
ON t2.field3 = t1.field3;
Dans cette requête révisée :
Cette approche nous permet d'utiliser la puissance des fonctions d'agrégation comme SUM tout en mettant à jour une table, fournissant un mécanisme flexible et efficace pour manipuler données en SQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!