Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyniki miesieczne-co miesiac nowa kolumna?
Forum PHP.pl > Forum > Bazy danych > MySQL
pppspoonman
Zastanawialem sie nad tym dosc dlugo i jakos nie moge znalezc optymalnego rozwiazania. Przejalem baze po kims i moj poprzednik zastosowal takie rozwiazanie.

Mamy glosowanie. Jak ktos zaglosuje to do tabeli GLOSY wpisuja sie jego szczegoly (ip,host itd), a do tabeli ZGLOSZENIA (Z), w kolumnie Z.ILOSC_GLOSOW dodaje sie jeden. Glosow jest duzo, stad takie rozwiazanie, by przy wyswietlaniu glosow ich nie liczyc za kazdym razem. To rozwiazanie jest ok.

Problem tkwi w tym, ze co miesiac zerowany jest licznik. Stare glosy jednak chce zatrzymac, zeby wyswietlac aktualny licznik miesieczny i totalny licznik - roczny. I teraz mam dwa problemy:

1. W jakiej formie "zatrzymac" ilosc glosow z poprzedniego miesiaca? Czy dodac nowa kolumne Z.ILOSC_GLOSOW_MAJ_2004 ? I potem dalsze miesiace? Rozwiazanie to dziala, ale jest hmm "nieestetyczne" wg mnie. Moze tworzyc jakas nowa tabele? Co polecacie?

2. Przypuscmy ze mam na kazdy miesiac nowa kolumne. Ale przy zapytaniu chcac otrzymac wynik roczny musze zapytac o sume kolumn Z.ILOSC_GLOSOW_STYCZEN_2004 + ... +ILOSC_GLOSOW_MAJ_2004. Rozwiazanie to jest tymczasowe. Po czerwcu musze zmieniac kod (!) bo jeszcze dojdzie jedna kolumna. To tez jest nieefektywne jak dla mnie.

Jakie sa wasze doswiadczenia w takich bazach? I co poradzicie? Dzieki za pomoc smile.gif
cboot
Dodaje się dodatkową kolumnę: miesiąc.
W takim wypadku co miesiąc tworzone byłby nowe wiersze z polem miesiąc odpowiednio ustawionym i zerową liczbą głosów. Głosów z poprzedniego miesiąca by się nie kasowało, tylko zliczało od nowa w tym nowym wierszu tworzonym dla następnego miesiąca.
pppspoonman
Aha. Czyli stworzyc nowa tabele WYNIKI_GLOSOW (WG) i np. jak mam 1000 zgloszen to robie 1000 wierszy z kodem zgloszenia i numerkiem '5' (maj) w kolumnie WG.MIESIAC. Potem robie kolejne 1000 wierszy z numerkiem '6' w WG.MIESIAC i tak dalej? Czy dobrze zrozumialem? Chce sie upewnic zanim wprowadze to w zycie, ale pomysl wydaje mi sie dobry smile.gif
cboot
Właśnie tak :wink:
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-2024 Invision Power Services, Inc.