Witam,
Mam następujący problem. W systemie zaimplementowane są oddzielne tablice z danymi dla każdego miesiąca. W każdej tablicy mamy pola duration, destination, end. chciałbym wykonać następujące zapytanie:
SELECT
ROUND(AVG(sum_duration))
FROM (
SELECT
SUM(duration)/60 AS sum_duration
FROM
table_02_2011
WHERE
destination REGEXP '^[1-9][0-9]{7,}' AND
UNIX_TIMESTAMP(DATE_SUB(CURDATE(),INTERVAL 30 DAY)) <= end AND
(WEEKDAY(FROM_UNIXTIME('end')) >= 0 AND WEEKDAY(FROM_UNIXTIME('end')) <= 4 )
GROUP BY
DATE(FROM_UNIXTIME('end'))
)
AS sum_query;
Na jednej tablicy działa, ale jak zrobić aby dokonać obliczeń na dwóch lub więcej tablicach? Napewno nie da się zrobić tak że policzyć średnią z jednej tablicy, średnią z drugiej, zsumować i podzielić na dwa, ponieważ wtedy straci się realną średnią z interesującego mnie okresu.
danych w tablicy będzie sporo zatem nie wiem czy w grę wchodzi tworzenie jakieś tabeli tymczasowej.
pozdrawiam