Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Matematyka PHP na danych SQL

Więc mówisz, że masz

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

i chcesz obliczyć iloczyn wpisów głównej przekątnej (bez względu na id kolumna)?

Z Twojego pytania nie wynika jasno, czy to właśnie chcesz zrobić, czy po prostu chcesz obliczyć data1 * data2 * data3 dla każdego rzędu.

Jeśli to drugie:powinieneś to zrobić w MySQL. Dodaj dodatkową kolumnę do listy kolumn w instrukcji select:

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

Jeśli jest to pierwsze:Powinieneś to zrobić w PHP, a nie w MySQL. Możesz to zrobić, konfigurując tablicę wielowymiarową.

Prawdopodobnie masz kod, który wygląda mniej więcej tak:

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

Zmienimy to na następujące:

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

Teraz, jeśli dodasz następujące:

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

zobaczysz, że mamy dwuwymiarową tablicę.

Teraz, jeśli chcemy znaleźć iloczyn pozycji przekątnych w tej tablicy, możemy użyć tego:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Połącz się z serwerem MySQL przez SSH w PHP

  2. Wybierz dane między dwiema datami z wyłączeniem niektórych dni

  3. BŁĄD 2003 (HY000):Nie można połączyć się z serwerem MySQL na hoście lokalnym (10061)

  4. Wybierz i zwróć tylko sumę kontrolną (nie tabelę) z tabeli sum kontrolnych w mysql

  5. MySQL lub warunek