ďťż
 
średnia z sumy (InterBase) ďťż
 
średnia z sumy (InterBase)
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

średnia z sumy (InterBase)



matheo101 - 24-04-2006 07:51
średnia z sumy (InterBase)
  Tabela:
osoba liczba
aaa 23
bbb 32
ccc 72
ddd 12
aaa 23
bbb 11
bbb 8




Grzegorz Szyszlo - 26-04-2006 01:21

  matheo101 wrote:
> Tabela:
> osoba liczba
> aaa 23
> bbb 32
> ccc 72
> ddd 12
> aaa 23
> bbb 11
> bbb 8

nie wiem czy jest gotowa funkcja,
ale czy cos w stylu
select sum(liczba)/count(liczba) from tabela; nie zadziala ?

znik.




matheo101 - 26-04-2006 15:08
xxx
  Halo.
Dziękuję za podpowiedź. Poradziłem sobie inaczej, ale Pana rozwiązanie podsuneło mi pewien pomysł i spróbuję dalej drążyć ten problem.
Jeśli chodzi o podpowiedziane zapytanie, to zwraca ono średnią bez wcześniejszego
sumowania. Wyrażenie sum(liczba)/count(liczba) jest równoważne wyrażeniu avg(liczba),
a ja chcę średnią wyciągnąć po zsumowaniu. Czyli sumowanie musiałoby w przypadku zastosowania powyższego zapytania nastąpić dwa razy. Pierwszy raz w celu sumowania i grupowania - sum(liczba) from tabela group by osoba,
a drugi - sum(liczba)/count(liczba) - w celu wyciągnięcia średniej.
Chyba trochę namieszałem :-)
Poradziłem sobie w ten sposób, że najpierw tworzę drugą tabelę, robię sumowanie i zapisuję wynik do tabeli:
insert into tabela2 select osoba, sum(liczba) as suma from tabela group by abonent;
Otrzymuję wynik zapisany do tabela2 mniej więcej taki:

Osoba Suma
aaaaa 340
bbbbb 450
ccccc 200
dddd 150

Następnie wyciągam średnią na podstawie danych z tabela2:
select avg(suma) from tabela2;
i otrzymuję interesującą mnie średnią.

Jeszcze raz dziękuję i pozdrawiam .



Grzegorz Szyszlo - 28-04-2006 00:51

  matheo101 wrote:
> Halo.
> Dziękuję za podpowiedź. Poradziłem sobie inaczej, ale Pana rozwiązanie
> podsuneło mi pewien pomysł i spróbuję dalej drążyć ten problem.
> Jeśli chodzi o podpowiedziane zapytanie, to zwraca ono średnią bez
> wcześniejszego
> sumowania. Wyrażenie sum(liczba)/count(liczba) jest równoważne
> wyrażeniu avg(liczba),
> a ja chcę średnią wyciągnąć po zsumowaniu. Czyli sumowanie musiałoby
> w przypadku zastosowania powyższego zapytania nastąpić dwa razy.
> Pierwszy raz w celu sumowania i grupowania - sum(liczba) from tabela
> group by osoba,
> a drugi - sum(liczba)/count(liczba) - w celu wyciągnięcia średniej.
> Chyba trochę namieszałem :-)
> Poradziłem sobie w ten sposób, że najpierw tworzę drugą tabelę, robię
> sumowanie i zapisuję wynik do tabeli:
> insert into tabela2 select osoba, sum(liczba) as suma from tabela group
> by abonent;
> Otrzymuję wynik zapisany do tabela2 mniej więcej taki:
>
> Osoba Suma
> aaaaa 340
> bbbbb 450
> ccccc 200
> dddd 150
>
> Następnie wyciągam średnią na podstawie danych z tabela2:
> select avg(suma) from tabela2;
> i otrzymuję interesującą mnie średnią.
>
> Jeszcze raz dziękuję i pozdrawiam .

moglbys sie obyc bez tabeli posredniej, jesli interbase pozwalalby
na wstawienie subselecta po from, tam gdzie normalnie wstawiasz
nazwe tabeli. jesli interbase na to nie pozwoli,
to tabela2 mozesz tez zapisac jako widok,
i interesujaca srednia wyciagac selectem z widoku.
dzieki temu robisz wszystko jednym zapytaniem bez kroku posredniego.

znik.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    =?iso-8859-2?Q?Re:_=5Bdelphi/interbase=5D_W_co_sie_pakowa=E6_=2C_prze?==?iso-8859-2?Q?no=B6no=B6=E6_kodu_-_don't_shoot?= [InterBase] Max. =?ISO-8859-2?Q?ilo=B6=E6_po=B3=B1cze=F1?= migracja skryptu SQL z Interbase do MSSQL 2005 Exp. MS SQL a Interbase format daty? Migracja z interbase/firebird do MSSQL export z interbase sql do accessa Licencja do Delphi na interbase ... Interbase Linux-> Windows Zmiana hasła InterBase Interbase/Firebird SELECT 1+1
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lubiatowo.xlx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com