Ben "tutarlar" tablosunun bir dizin yapmak ve ürün, tipi, ay, gün ve saat gruplandırılarak ediyorum MySQL ve PHP kullanarak. Sonra "amounts_merged" tablosunda eşleşen bir kayıt güncelleme veya zaten mevcut değilse, yeni bir kayıt ekleme ya.
İşte ben ile geldi çözümdür. Ama ben bu konuda gitmek için en iyi yoldur emin değilim. Herhangi bir öneriniz çok iyi olurdu.
$sql = "SELECT product, type, month, day, hour, AVG(amount) AS average_amount FROM amounts GROUP BY product, type, month, day, hour";
$result1 = @mysql_query($sql, $con) or die(mysql_error());
while($row = mysql_fetch_array($result1)) {
$average_amount = $row[average_amount];
$product = $row[product];
$type = $row[type];
$month = $row[month];
$day = $row[day];
$hour = $row[hour];
$sql = "UPDATE amounts_merged SET average_amount = '$average_amount' WHERE product = '$product' AND type = '$type' AND month = '$month' AND day = '$day' AND hour = '$hour'";
$result2 = @mysql_query($sql, $con) or die(mysql_error());
$updated_rows = mysql_affected_rows();
if ($updated_rows == 0) {
$sql = "INSERT INTO amounts_merged (product, type, month, day, hour, average_amount)
VALUES ('$product', '$type', '$month', '$day', '$hour', '$average_amount')";
$result3 = @mysql_query($sql, $con) or die(mysql_error());
}
}