Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Matematika PHP pada Data SQL

Jadi Anda mengatakan Anda memiliki

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

dan Anda ingin menghitung produk dari entri diagonal utama (mengabaikan id kolom)?

Tidak jelas dari pertanyaan Anda apakah ini yang ingin Anda lakukan, atau apakah Anda hanya ingin menghitung data1 * data2 * data3 untuk setiap baris.

Jika yang terakhir:Anda harus melakukan ini di MySQL. Tambahkan kolom tambahan ke daftar kolom dalam pernyataan pilihan Anda:

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

Jika yang pertama:Anda harus melakukan ini di PHP daripada MySQL. Anda dapat melakukannya dengan menyiapkan array multidimensi.

Anda mungkin memiliki kode yang terlihat seperti ini:

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

Kami akan mengubahnya menjadi berikut:

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

Sekarang jika Anda menambahkan yang berikut ini:

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

Anda akan melihat kita memiliki array dua dimensi.

Sekarang jika kita ingin menemukan produk dari entri diagonal dalam array itu, kita dapat menggunakan ini:

$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. Perbedaan antara Kunci, Kunci Utama, Kunci Unik dan Indeks di MySQL

  2. Simpan waktu antar catatan

  3. Perintah python setup.py egg_info gagal dengan kode kesalahan 1 di /tmp/pip-install-fs0wmmw4/mysqlclient/

  4. Berapa banyak kolom tabel database yang terlalu banyak?

  5. Kemungkinan Kesalahan PDOException (MySQL 5)?