sum of numeric column
I have a table structure and want to do a sum of column type i.e numeric.
How can I do it ? when i try sum function i get this error
ERROR: function sum(numeric[]) does not exist
Can anyone please help me with this ?
Column | Type | Collation |
Nullable | Default
----------------------------+--------------------------+-----------+----------+---------
grid_id | bigint | | not
null |
as_of_date | date | | not
null |
cell_id | bigint | | not
null |
last_event_timestamp_local | timestamp with time zone | |
|
last_event_id | bigint | |
|
column_id | bigint | |
|
column_name | character varying(50) | |
|
row_id | bigint | |
|
data_type_id | smallint | |
|
data_numeric | numeric[] | |
|
data_string | character varying[] | |
|
e.g. of values in numeric type column
data_numeric
--------------
{2.0}
{1.0}
Regards
Prabhjot
On 12/9/20 4:46 PM, avi Singh wrote:
I have a table structure and want to do a sum of column type i.e
numeric. How can I do it ? when i try sum function i get this error
You don't have a numeric type you have a numeric array type.
ERROR: function sum(numeric[]) does not exist
Hence the error above.
Can anyone please help me with this ?
What do you want to do with the array?
Column | Type | Collation |
Nullable | Default
----------------------------+--------------------------+-----------+----------+---------
grid_id | bigint | |
not null |
as_of_date | date | |
not null |
cell_id | bigint | |
not null |
last_event_timestamp_local | timestamp with time zone | |
|
last_event_id | bigint | |
|
column_id | bigint | |
|
column_name | character varying(50) | |
|
row_id | bigint | |
|
data_type_id | smallint | |
|
data_numeric | numeric[] | |
|
data_string | character varying[] | |
|e.g. of values in numeric type column
data_numeric
--------------
{2.0}
{1.0}Regards
Prabhjot
--
Adrian Klaver
adrian.klaver@aklaver.com
Thanks for your reply Adrian
What do you want to do with the array?
i want to do a sum of the values of numeric array type column e.g. below
data_numeric
--------------
{2.0}
{1.0}
(4 rows)
Regards
On Wed, Dec 9, 2020 at 4:49 PM Adrian Klaver <adrian.klaver@aklaver.com>
wrote:
Show quoted text
On 12/9/20 4:46 PM, avi Singh wrote:
I have a table structure and want to do a sum of column type i.e
numeric. How can I do it ? when i try sum function i get this errorYou don't have a numeric type you have a numeric array type.
ERROR: function sum(numeric[]) does not exist
Hence the error above.
Can anyone please help me with this ?
What do you want to do with the array?
Column | Type | Collation |
Nullable | Default----------------------------+--------------------------+-----------+----------+---------
grid_id | bigint | |
not null |
as_of_date | date | |
not null |
cell_id | bigint | |
not null |
last_event_timestamp_local | timestamp with time zone | |
|
last_event_id | bigint | |
|
column_id | bigint | |
|
column_name | character varying(50) | |
|
row_id | bigint | |
|
data_type_id | smallint | |
|
data_numeric | numeric[] | |
|
data_string | character varying[] | |
|e.g. of values in numeric type column
data_numeric
--------------
{2.0}
{1.0}Regards
Prabhjot--
Adrian Klaver
adrian.klaver@aklaver.com
On 12/9/20 5:04 PM, avi Singh wrote:
Thanks for your reply Adrian
What do you want to do with the array?
i want to do a sum of the values of numeric array type column e.g. below
data_numeric
--------------
{2.0}
{1.0}
If you are going to have a single element arrays only then why not just
use a numeric field?
To answer question:
select sum(data_numeric[1]) from some_table;
If you are going to have multi-element arrays then there are more questions:
1) Do you want sum horizontal in array?
2) If 1) then also vertical in column?
3) Do you want sum in 'columns' of arrays?
4) If 3) then what about missing data?
(4 rows)
Regards
--
Adrian Klaver
adrian.klaver@aklaver.com
Thanks Adrian for pointing me in the right direction, i got it working
On Wed, Dec 9, 2020 at 5:32 PM Adrian Klaver <adrian.klaver@aklaver.com>
wrote:
Show quoted text
On 12/9/20 5:04 PM, avi Singh wrote:
Thanks for your reply Adrian
What do you want to do with the array?
i want to do a sum of the values of numeric array type column e.g. below
data_numeric
--------------
{2.0}
{1.0}If you are going to have a single element arrays only then why not just
use a numeric field?To answer question:
select sum(data_numeric[1]) from some_table;
If you are going to have multi-element arrays then there are more
questions:1) Do you want sum horizontal in array?
2) If 1) then also vertical in column?
3) Do you want sum in 'columns' of arrays?
4) If 3) then what about missing data?
(4 rows)
Regards
--
Adrian Klaver
adrian.klaver@aklaver.com