sql >> Base de Datos >  >> RDS >> Mysql

Matemáticas PHP en datos SQL

Entonces estás diciendo que tienes

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

y desea calcular el producto de las entradas de la diagonal principal (sin tener en cuenta el id columna)?

No queda claro a partir de su pregunta si esto es lo que quiere hacer o si solo quiere calcular data1 * data2 * data3 para cada fila.

Si es lo último:debe hacer esto en MySQL. Agregue una columna adicional a la lista de columnas en su declaración de selección:

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

Si es lo primero:debe hacer esto en PHP en lugar de MySQL. Puede hacer esto configurando una matriz multidimensional.

Probablemente tenga un código parecido a este:

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

Lo cambiaremos a lo siguiente:

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

Ahora si agregas lo siguiente:

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

verá que tenemos una matriz bidimensional.

Ahora, si queremos encontrar el producto de las entradas diagonales en esa matriz, podemos usar esto:

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