Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: średnia wartości pól z dwóch tablic
Forum PHP.pl > Forum > Bazy danych > MySQL
daroj
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
Fifi209
Jeżeli dobrze zrozumiałem, to chcesz mieć średnie z każdego miesiąca. Możesz zawsze użyć UNION SELECT.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.