![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 60 Pomógł: 0 Dołączył: 29.04.2003 Skąd: Stargard Szczeciński Ostrzeżenie: (0%) ![]() ![]() |
Powiedzmy ze chce zsumowac wszystkie wartosci rekordow pola minuty. Jak to zrobic?
Bo przeszukalem forum i nie znalazlem nic o tym. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 16.05.2003 Ostrzeżenie: (0%) ![]() ![]() |
Ojej, glupoty Panie kolego opowiadacie. Po pierwsze primo klauzula GROUP BY jest opcjonalna, po drugie grupowac mozna wedle tylko czego dusza zapragnie (dowolna kolumna, wcale nie musi byc kluczowa). W przypadku polaczenia z funkcjami agregujacymi grupowany argument jest niejednokrotnie argumentem funkcji agregujacej, ale ma to konkretne zastosowanie, a nie bo - "tak ma byc". Przykladem moze byc zsumowanie dla danego kontrachenta (identyfikowanego NIPem) wszystkich wartosci np. kwot netto
Kod SELECT SUM(kwota_netto) AS Netto FROM tabela WHERE nip='siakis_tam_nip' GROUP BY nip;
Albo dla wszystkich kontrachentow: Kod SELECT SUM(kwota_netto) AS Netto FROM tabela GROUP BY nip;
Uzycie aliasu AS Netto tyz jest opcjonalne. W tym drugim przypadku GROUP BY dziala troszke jak DISTINC zalatwiamy jednak po drodze sumowanie. Nie wspomnianu tutaj o jednej istotnej sprawie - funkcja agregujaca SUM() jako argumenty przyjmuje jedynie wartosci liczbowe i to tutaj bym sie doszukiwal problemu - czy pole przechowujace owe minuty jest polem liczbowym? Pozdrowka Santos |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.09.2025 - 14:09 |