Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Toán PHP trên dữ liệu SQL

Vì vậy, bạn đang nói rằng bạn có

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

và bạn muốn tính tích các mục nhập đường chéo chính (bỏ qua id cột)?

Câu hỏi của bạn không rõ đây là việc bạn muốn làm hay bạn chỉ muốn tính toán data1 * data2 * data3 cho mỗi hàng.

Nếu đó là cái sau:Bạn nên thực hiện việc này trong MySQL. Thêm một cột bổ sung vào danh sách cột trong câu lệnh đã chọn của bạn:

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

Nếu đó là trước đây:Bạn nên làm điều này bằng PHP thay vì MySQL. Bạn có thể làm điều này bằng cách thiết lập một mảng đa chiều.

Bạn có thể có mã trông giống như sau:

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

Chúng tôi sẽ thay đổi nó thành như sau:

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

Bây giờ nếu bạn thêm những thứ sau:

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

bạn sẽ thấy chúng tôi có một mảng hai chiều.

Bây giờ nếu chúng ta muốn tìm tích của các mục nhập chéo trong mảng đó, chúng ta có thể sử dụng điều này:

$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. Cách lập trình tạo cơ sở dữ liệu MySQL trên gói lưu trữ Linux dùng chung

  2. Lệnh SELECT để tính toán tỷ lệ phần trăm

  3. Làm cách nào để trả về dữ liệu ô vuông dạng số của tất cả các kết quả bằng cách sử dụng 1 truy vấn mySQL?

  4. MySQL và Splunk - Chọn và Tham gia

  5. Bế tắc trên MySQL xóa hàng