Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Suma odsłon z trzech ost miesięcy
--saved--
post
Post #1





Goście







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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
Turson
post
Post #2





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


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ę.
Go to the top of the page
+Quote Post
--saved--
post
Post #3





Goście







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 (IMG:style_emoticons/default/sad.gif)
Czyli rozumiem, że nie da rady nic z tym zrobić...
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$zap = "SELECT SUM(liczba) as liczba FROM licznik WHERE rok='2013' AND mies ='12' or rok='2014' AND mies in ('01', '02') ";
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #5





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


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?

Ten post edytował SmokAnalog 2.03.2014, 13:16:07
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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ć:
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
pitu
post
Post #7





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

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


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
Go to the top of the page
+Quote Post
SmokAnalog
post
Post #8





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

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


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.
Go to the top of the page
+Quote Post
--saved--
post
Post #9





Goście







Hej (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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 (IMG:style_emoticons/default/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!
Go to the top of the page
+Quote Post
nospor
post
Post #10





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:44