Portál AbcLinuxu, 7. června 2024 21:37


Dotaz: PostgreSQL - preteceni rozsahu agregacni fce sum()

28.1.2006 00:24 srerucha
PostgreSQL - preteceni rozsahu agregacni fce sum()
Přečteno: 65×
Odpovědět | Admin

Pekny den,

mam nasledujici problem: pri agregaci mnoha zaznamu a scitani velkych cisel pomoci sum() mi dotaz vraci zjevne nesmylny vysledek, ilustrovano na prikladu dole ... nemate nekdo zkusenost, tip ? Mozna staci jen vhodne pretypovat, jen jsem se nedopatral jak :(

Bezi mi to na SuSE 9.0 , CPU Intel Celeron, PG 7.3 z distribucnich balicku .....

Priklad:

 postgres=> select paese,populazione from nazioni;
 paese           |populazione
 ----------------+-----------
 UNIONE SOVIETICA|  281170000
 INDIA           |  766140000
 CINA            | 1072220000
 GIAPPONE        |  129947000
 CANADA'         |   25610000
 U.S.A.          |  242080000
 MESSICO         |   81160000
 BRASILE         |  141450000
 ARGENTINA       |   31500000
 (9 rows)
 
 postgres=> select sum(populazione) from nazioni;
         sum
 -----------
 -1523690296
 (1 row)
Diky za tipy :)
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

28.1.2006 01:13 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: PostgreSQL - preteceni rozsahu agregacni fce sum()
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkusil bych něco jako
  select sum(cast(POPULAZIONE as bigint)) from NAZIONI;
Je možné, že syntaxi a název toho typu budete muset upravit, jsem zvyklý spíš na Firebird.
28.1.2006 09:46 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: PostgreSQL - preteceni rozsahu agregacni fce sum()
Odpovědět | | Sbalit | Link | Blokovat | Admin
Hámdám že máte sloupec deklarovaný jako integer, integer přeteče.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.