![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Witajcie!
Mam tabelę: Cytat ID | ID_user | Month | Year | Kod | Opis | Wartosc Chciałbym teraz aby rekordy z ostatnich 3 miesięcy o danym ID_user oraz Kod sumowały (pole Wartość) się. Wymyśliłem zapytanie:
Problem w tym, że w miesiącu może być więcej niż jeden rekord dla ID_user oraz kodu, lub nie być go wcale. Chciałbym aby dzisiaj (maj 2012), zsumowało mi rekordy z luty 2012 + marzec 2012 + kwiecie 2012 bez różnicy czy tych wpisów jest 3, 6 czy 0. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Użyj funkcji DATE_SUB i odejmij 3 miesiące, z tym że musisz odejmować od 1 dnia miesiąca tak by sumowac od 1 dnia miesiaca
http://dev.mysql.com/doc/refman/5.5/en/dat...nction_date-sub Ten post edytował skowron-line 22.05.2012, 14:11:00 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Próbowałem, ale wychodzi mały potworek:
(IMG:style_emoticons/default/wink.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 195 Pomógł: 109 Dołączył: 3.11.2011 Ostrzeżenie: (10%) ![]() ![]() |
A jakiego typu jest kolumna Month?
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 660 Pomógł: 13 Dołączył: 9.06.2004 Skąd: Wrocław i okolice Ostrzeżenie: (0%) ![]() ![]() |
Int
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 253 Pomógł: 29 Dołączył: 18.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 158 Pomógł: 43 Dołączył: 9.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Skoro już te pola daty są oddzielnie w bazie, to można też wykorzystać PHP, może skorzysta z indeksów o ile są założone?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 3 Dołączył: 19.01.2011 Ostrzeżenie: (0%) ![]() ![]() |
Proponuje tak:
Jeżeli sumujesz cały wybrany zakres GROUP BY jest zbędne. Ten post edytował Firebright 28.05.2012, 08:45:47 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:43 |