0
私は複数のskuと価格のデータベースを持っています。 skuあたり約10の価格があります。私がしようとしているのは、以下のスクリプトから平均と中央値を得ることです。GROUP BYの配列
function calculate_median($arr) {
sort($arr);
$count = count($arr); //total numbers in array
$middleval = floor(($count-1)/2); // find the middle value, or the lowest middle value
if($count % 2) { // odd number, middle is the median
$median = $arr[$middleval];
} else { // even number, calculate avg of 2 medians
$low = $arr[$middleval];
$high = $arr[$middleval+1];
$median = (($low+$high)/2);
}
return $median;
}
function calculate_average($arr) {
$count = count($arr); //total numbers in array
foreach ($arr as $value) {
$total = $total + $value; // total value of array numbers
}
$average = ($total/$count); // get average value
return $average;
}
$home_values_array = array("100000", "120000", "150000", "157000", "180000", "198000", "220000", "1450000");
$median_home_value = calculate_median($home_values_array);
echo '<p>Median home value: $'.number_format($median_home_value).'<br />';
$average_home_value = calculate_average($home_values_array);
echo 'Average home value: $'.number_format($average_home_value).'</p>';
だから私の質問は
$home_values_array = array("100000", "120000", "150000", "157000", "180000", "198000", "220000", "1450000");
データベースの例..私はループのうち上記のスクリプトのようにSKUあたりの価格の複数のアレイをできるように、Iグループの特定のSKU行う方法であり、フィールド:ここでは
SKU PRICE
123 454.60
123 723.74
123 523.11
321 21.00
321 45.05
データがデータベースにあるので、SQLクエリからこの情報を得ることができない何らかの理由がありますか?あなたはSQLで簡単な何かをするために非常に多くの努力をしているようです。 –
私は罰金でグループ化できます。しかし、私はそれを関数に必要な配列形式にすることはできません。 – ValhallaSkies
MySQLを試してみませんか? 'SELECT sku、AVG(price)as average_price FROM 'table' GROUP BY sku' – Nidhi