Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zliczanie wartości pól
xdriverspl
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 17.04.2013

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


witam, mam tabele

grupa | ilosc
gr1 | 3
gr2 | 2
gr3 | 6
gr1 | 2
gr2 | 4

chciałbym aby w wyniku zapytania otrzymać

gr1 | 5
gr2 | 6
gr3 | 6

jest jakis operator zliczajacy wartosci pol dla danej grupy? koniecznie wartosci nie ilosc tj w przypadku COUNT(*)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mmmmmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


WITH tabela AS
(
SELECT 'a' grupa, 5 ilosc
UNION
SELECT 'b', 6
UNION
SELECT 'c', 6
)
Ten fragment zastępuje tabelę - nie miałem danych, więc musiałem je jakoś spreparować. Jak widać tabela nazywa się "tabela" i ma dwa pola "grupa", "ilosc".

SELECT *, ilosc*100./sum(ilosc) over() FROM tabela
To wyświetla wszystkie pola - * i dodatkowo jedno pole wyrażone przez ilosc*100./sum(ilosc) over()
To pole to wartość pola "ilosc" razy (100.) - specjalnie z kropką na końcu, aby postgresql wiedział, że ma do czynienia z liczbą zmiennoprzecinkową. sum(ilosc) over() oblicza sumę pola ilosc dla WSZYSTKICH rekordów z tabeli. Musiałbyś doczytać co robi tak naprawdę OVER(), bo akurat tu jest proste - bez paraetrów. Może być np. sum(ilosc) over(partition by grupa order by grupa)... Ale dla sum jest to troche bez sensu. lepiej widać na rank().
Go to the top of the page
+Quote Post

Posty w temacie
- xdriverspl   zliczanie wartości pól   17.05.2013, 07:15:11
- - mortus   SUM   17.05.2013, 07:27:21
- - Sephirus   [SQL] pobierz, plaintext SELECT grupa, SUM(ilo...   17.05.2013, 07:28:19
- - xdriverspl   dzięki a tak przy okazji... jakieś funkcje które...   17.05.2013, 11:22:32
- - mmmmmmm   Mnóstwo. Począwszy od wartosc/SUM(Wartosc), na fun...   17.05.2013, 12:53:05
- - xdriverspl   a jakieś przykłady? wertuje dokumentacje i nie nat...   17.05.2013, 13:38:43
- - Sephirus   Można to ogarnąć (najprościej IMO) podzapytaniem w...   17.05.2013, 14:17:14
- - mmmmmmm   Sum w podselekcie z grupowaniem?? Nawet postgresa ...   17.05.2013, 17:28:32
|- - xdriverspl   Cytat(mmmmmmm @ 17.05.2013, 18:28:32 ...   18.05.2013, 15:15:04
- - mmmmmmm   WITH tabela AS ( SELECT 'a' grupa, 5 ilosc...   19.05.2013, 18:43:16
|- - xdriverspl   Cytat(mmmmmmm @ 19.05.2013, 19:43:16 ...   20.05.2013, 07:32:07
- - mmmmmmm   Najprostsza przeróbka to: [SQL] pobierz, plaintext...   20.05.2013, 10:02:54
|- - xdriverspl   Cytat(mmmmmmm @ 20.05.2013, 11:02:54 ...   21.05.2013, 08:56:27
- - mmmmmmm   Nie. Pisałem o czymś takim:[SQL] pobierz, plaintex...   21.05.2013, 09:31:27
- - xdriverspl   witam, dalej podrąże temat mam tabele: id_kontr...   5.06.2013, 14:11:22
- - mmmmmmm   A konkretnie to co chcesz zrobić?[SQL] pobierz, pl...   5.06.2013, 15:39:49
|- - xdriverspl   Cytat(mmmmmmm @ 5.06.2013, 16:39:49 )...   6.06.2013, 09:46:02
- - mmmmmmm   [SQL] pobierz, plaintext SELECT ilosc, Count(*...   6.06.2013, 10:42:30
- - xdriverspl   Witam ponownie, mam takie oto zapytanie: [SQL] po...   17.06.2013, 11:56:07
- - mmmmmmm   [SQL] pobierz, plaintext SELECT grupa, Sum(ilo...   17.06.2013, 13:42:47


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: 4.10.2025 - 23:25