sql >> Databasteknik >  >> RDS >> Mysql

PHP Maths på SQL Data

Så du säger att du har

id data1 data2 data3
1  2.5   2.6   2.7
2  2.6   7.0   8.2
3  3.0   1.8   6.0

och du vill beräkna produkten av huvuddiagonala poster (bortsett från id kolumn)?

Det framgår inte av din fråga om det är detta du vill göra eller om du bara vill beräkna data1 * data2 * data3 för varje rad.

Om det är det senare:Du bör göra detta i MySQL. Lägg till en extra kolumn till kolumnlistan i ditt urvalsuttryck:

SELECT
    id,
    ...,
    data1 * data2 * data3 AS product
FROM
    ...

Om det är det förra:Du bör göra detta i PHP snarare än MySQL. Du kan göra detta genom att ställa in en flerdimensionell array.

Du har förmodligen kod som ser ut ungefär så här:

while ( $row = mysqli_fetch_assoc($query_result) ) {
    echo $row['id'].' '.$row['data1'].' '.$row['data2'].' '.$row['data3'];
}

Vi kommer att ändra det till följande:

$myarray = array();
while ( $row = mysqli_fetch_assoc($query_result) ) {
    $myarray[] = array($row['data1'], $row['data2'], ['data3']);
}

Nu om du lägger till följande:

echo '<pre>';
var_dump($myarray);
echo '</pre>';
';

du kommer att se att vi har en tvådimensionell array.

Om vi ​​nu vill hitta produkten av de diagonala posterna i den matrisen kan vi använda detta:

$product = $myarray[0][0] * $myarray[1][1] * $myarray[2][2];



  1. Importera shapefiler i postgresql i linux med pgadmin 4

  2. Infogar objekt i bootstrap-rullgardinsmenyn från SQL Table

  3. Duplicera, kopiera eller säkerhetskopiera tabeller i MySQL, MariaDB, Oracle, PostgreSQL, DB2 och SQLite med Skapa tabell som SQL

  4. MariaDB CURRENT_ROLE() Förklarad