Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wielokrotna statystyka danych w kolumnach jednego rekordu, jak konstruować zapytanie zwracające wiersz wyników obliczeń na danych
ky3orr
post 17.10.2012, 17:26:08
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 25.10.2004
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Czołem,

mam nastepujący problem.
-powiedzmy, że mam jedna tabelę w której mam dane typu:
ID_SERII, ID_POMIARU, NAZWA, DATA_1, DATA_2, WYNIK

DATA_1 jest początkiem pomiaru, DATA_2 jego końcem.
WYNIK jest jedną ze zdefiniowanych wartości: W1, W2, W3

I teraz chcę wyciągnąć statystykę za okres pomiędzy dwiema datami tak, żeby pojawiły się następujące wiersze:
NAZWA, ILOSC_WYSTAPIEN_ID_POMIARU AS AMOUNT, ILOSC_WYSTAPIEN_WYNIK=W1 AS W1, ILOSC_WYSTAPIEN_WYNIK=W2 AS W2, ILOSC_WYSTAPIEN_WYNIK=W3 AS W3

Zatem dane:

1, 100, A, 2012-05-20, 2012-05-21, "W1";
1, 101, B, 2012-05-20, 2012-05-21, "W1";
1, 102, C, 2012-05-20, 2012-05-21, "W2";
1, 103, A, 2012-05-20, 2012-05-21, "W2";
2, 104, B, 2012-05-22, 2012-05-23, "W3";
2, 105, B, 2012-05-22, 2012-05-23, "W1";
2, 106, C, 2012-05-22, 2012-05-23, "W3";
3, 107, C, 2012-05-25, 2012-05-26, "W1";

wyciągniete za okres powiedzmy 2012-05-20 do 2012-05-27 powinny dać taki oto wynik:

A, 2, 1, 1, 0;
B, 3, 2, 0, 1;
C, 3, 1, 1, 1;


Umiem już wyciągnąć dane z tabeli pomiarowej za zadany okres i policzyć ILOSC_WYSTAPIEN_ID_POMIARU ponieważ jest to COUNT(ID_POMIARU) po tym jak robię GROUP BY ID_POMIARU.

Problem w tym jak w tym samym wierszu dodać jeszcze obliczenia dla 3 ostatnich kolumn? Czy to mają być jakieś selecty w sekcji SELECT zapytania głównego?
Czy można jakoś wirtualnie skorzystać z danych wyciągając je do wirtualnej tabeli czy dla każdej z 3 ostatnich kolumn trzeba je wyciągać na nowo by obliczyć każde ILOSC_WYSTAPIEN_WYNIK?
Trudność jest tym większa, że mam to opracować w formie jednego zapytania.

dzięki za sugestie.

pozdrawiam


--------------------
yegomość KY3ORR
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 11:24