'Run SUM(*) on Supabase
I'm starting with Supabase and would like to understand how I can pass the SUM() aggregator in a SELECT.
I noticed that for COUNT we use:
const { data, error, range, count } = supabase
  .from('table')
  .select('*', { count: 'exact' })
Is there anything similar to SUM that I haven't noticed?
My query is this:
select
  "GE_PRODUCTS",
  sum("GE_QUANTITY") as Quantity,
  sum("GE_SALEVALUE") as Revenue
from "GE_SELLS"
where "GE_ENTERPRISE" = 'G.E.'
  and "DELETED" <> '*'
group by "GE_PRODUCTS"
order by Revenue desc
limit 3;
Solution 1:[1]
Your best bet is to put this into a PostgreSQL function and call it from Supabase using .rpc():
Solution 2:[2]
CREATE OR REPLACE FUNCTION get_my_sums() 
    RETURNS TABLE (
        "GE_PRODUCTS" TEXT,
        Quantity NUMBER,
        Revenue NUMBER
) AS $$
DECLARE 
    var_r record;
BEGIN
    RETURN QUERY 
    select
    "GE_PRODUCTS",
    sum("GE_QUANTITY") as Quantity,
    sum("GE_SALEVALUE") as Revenue
    from "GE_SELLS"
    where "GE_ENTERPRISE" = 'G.E.'
    and "DELETED" <> '*'
    group by "GE_PRODUCTS"
    order by Revenue desc
    limit 3;
END; $$ 
LANGUAGE 'plpgsql';
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source | 
|---|---|
| Solution 1 | Mark Burggraf | 
| Solution 2 | Mark Burggraf | 
