Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Matemática PHP em dados SQL


Então você está dizendo que tem
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

e você deseja calcular o produto das entradas da diagonal principal (desconsiderando o id coluna)?

Não está claro na sua pergunta se é isso que você deseja fazer ou se deseja apenas calcular data1 * data2 * data3 para cada linha.

Se for o último:Você deve fazer isso no MySQL. Adicione uma coluna extra à lista de colunas em sua instrução select:
SELECT
    id,
    ...,
    data1 * data2 * data3 AS product
FROM
    ...

Se for o primeiro:Você deve fazer isso em PHP em vez de MySQL. Você pode fazer isso configurando uma matriz multidimensional.

Você provavelmente tem um código que se parece com isso:
while ( $row = mysqli_fetch_assoc($query_result) ) {
    echo $row['id'].' '.$row['data1'].' '.$row['data2'].' '.$row['data3'];
}

Vamos alterá-lo para o seguinte:
$myarray = array();
while ( $row = mysqli_fetch_assoc($query_result) ) {
    $myarray[] = array($row['data1'], $row['data2'], ['data3']);
}

Agora, se você adicionar o seguinte:
echo '<pre>';
var_dump($myarray);
echo '</pre>';
';
você verá que temos um array bidimensional.

Agora, se quisermos encontrar o produto das entradas diagonais nessa matriz, podemos usar isso:
$product = $myarray[0][0] * $myarray[1][1] * $myarray[2][2];