What are some alternative approaches to calculating average values in PHP when dealing with multiple database columns, and how do they compare to traditional methods?

When dealing with multiple database columns in PHP, a traditional approach to calculating average values would involve querying each column separately and then calculating the average in PHP code. An alternative approach is to use SQL functions to calculate the average directly in the database query itself, which can be more efficient and reduce the amount of data transferred between the database and PHP code.

// Traditional approach
$query = "SELECT column1, column2, column3 FROM table";
$result = $conn->query($query);

$sum1 = 0;
$sum2 = 0;
$sum3 = 0;
$count = 0;

while ($row = $result->fetch_assoc()) {
    $sum1 += $row['column1'];
    $sum2 += $row['column2'];
    $sum3 += $row['column3'];
    $count++;
}

$avg1 = $sum1 / $count;
$avg2 = $sum2 / $count;
$avg3 = $sum3 / $count;

// Alternative approach using SQL functions
$query = "SELECT AVG(column1) AS avg1, AVG(column2) AS avg2, AVG(column3) AS avg3 FROM table";
$result = $conn->query($query);
$row = $result->fetch_assoc();

$avg1 = $row['avg1'];
$avg2 = $row['avg2'];
$avg3 = $row['avg3'];