Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Suma odsłon z trzech ost miesięcy
Forum PHP.pl > Forum > Przedszkole
-saved-
Witajcie
Mam mały problem. Chcę wyświetlić sumę odsłon z trzech miesięcy i utknąłem:
  1. $zap = "SELECT SUM(liczba) as liczba FROM licznik WHERE rok='2013' AND mies IN ('12','01','02') ";

To zapytanie jest bez sensu, bo potrzebuję grudzień 2013 oraz styczeń i luty 2014
Co muszę zrobić, by w JEDNYM zapytaniu (to konieczne!) uzyskać sumę trzech m-cy?

Z góry b. dziękuję za pomoc
Turson
Jeżeli miałbyś kolumnę typu określającego datę np. date, to wystarczyła by zwykła operacja na dacie INTERVAL -3 MONTHS.
W tym wypadku komplikujesz sobie sprawę. Jak możesz to przebuduj bazę.
-saved-
No niestety nie mam możliwości przebudowania bazy (nie mam dostępu; piszę tylko skrypty).
Próbowałem też dać AND, ale nic to nie dało sad.gif
Czyli rozumiem, że nie da rady nic z tym zrobić...
nospor
$zap = "SELECT SUM(liczba) as liczba FROM licznik WHERE rok='2013' AND mies ='12' or rok='2014' AND mies in ('01', '02') ";
SmokAnalog
Cytat(nospor @ 2.03.2014, 12:58:38 ) *
$zap = "SELECT SUM(liczba) as liczba FROM licznik WHERE rok='2013' AND mies ='12' or rok='2014' AND mies in ('01', '02') ";


A nawiasy? Dla lepszej czytelności powinno być:
  1. SELECT sum(`liczba`) AS `liczba` FROM `licznik` WHERE (`rok` = '2013' AND `mies` = '12') OR (`rok` = '2014' AND `mies` IN ('01', '02'))


A w ogóle to czemu masz `rok` i `mies` jako string zamiast liczby?
nospor
Cytat
A nawiasy?

Ty tak na powaznie?
2*3 + 3*4
to wg. ciebie ile jest?

edit, gdy pisalem tego posta, to u poprzednika nie bylo jeszcze tego:
Cytat
Dla lepszej czytelności powinno być:
pitu
Cytat(SmokAnalog @ 2.03.2014, 13:14:32 ) *
...
A w ogóle to czemu masz `rok` i `mies` jako string zamiast liczby?


A dlaczego miałby mieć jako typ liczbowy?
1. Autor w pierwszym poście przedstawił je jako string
2. Nie wykonujesz na nich żadnych działać matematycznych
SmokAnalog
Cytat(pitu @ 2.03.2014, 13:22:50 ) *
A dlaczego miałby mieć jako typ liczbowy?

Bo to liczby. Weź teraz to sobie posortuj po miesiącu, będziesz miał październik po styczniu.
-saved-
Hej smile.gif
Na początek dziękuję WSZYSTKIM za gorącą dyskusję.
Przepraszam, że dopiero teraz, ale miałem masę pracy.

Zarówno kod nospora jak i SmokAnaloga oczywiście działają bez zarzutu smile.gif
Kurcze, żebym miał dostęp do phpmyadmina, to oczywiścue pozmieniałbym to i owo, bo czasem jest po prostu ma-sa-kra z napisaniem w miarę poprawnego (czytaj: optymalnego) kodu.

Pokombinuję najpierw z kodem nospora, a później Smoka - w sumie, jeśli to to samo i nie widać różnicy (tzn. nie widać w sensie na stronie wink.gif ) - to "wsio rawno", który będzie hulał (oby hulał!).

Jeszcze raz WIELKIE dzięki za odpowiedzi.
Jeśli pojawiłyby się jakieś wątki w tej kwestii - będę wdzięczny.

Pozdrawiam Was wszystkich!
nospor
Cytat
okombinuję najpierw z kodem nospora, a później Smoka - w sumie, jeśli to to samo i nie widać różnicy
Bo nie ma roznicy. Smok skopiowal moj kod i dodal jedynie nawiasy dla "czytelnosci". Z punktu widzenia bazy nawiasy w tym wypadku nie mają żadnego znaczenia
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.