如何求和

Rya*_*ran 8 postgresql sum

我正在尝试获得“总覆盖”,但仅在代理 = x、y 或 z 时求和

SELECT   
    DISTINCT( "public"."rdf_dean"."agent_name" )  AS "Agent",
    SUM("public"."rdf_dean"."paidcomm" *.9) AS "Paid to Agent",
    SUM("public"."rdf_dean"."paidcomm" *.1) AS "Overrides",
    SUM overrides IF agent_name = x OR agent_name = y OR agent_name = z

FROM     "public"."rdf_dean"
WHERE "public"."rdf_dean"."created_date" = date(now())
GROUP BY agent_name
Run Code Online (Sandbox Code Playgroud)

Rom*_*huk 7

如果您想为所有行和某些行同时使用聚合,您可以使用 FILTER ( https://www.postgresql.org/docs/9.4/static/sql-expressions.html ):

SELECT   
    "public"."rdf_dean"."agent_name" AS "Agent",
    SUM("public"."rdf_dean"."paidcomm" *.9) AS "Paid to Agent",
    SUM("public"."rdf_dean"."paidcomm" *.1) AS "Overrides",
    SUM("public"."rdf_dean"."paidcomm" *.1) 
        FILTER (WHERE agent_name = x OR agent_name = y OR agent_name = z)
        AS "Partial Overrides",
FROM     "public"."rdf_dean"
WHERE "public"."rdf_dean"."created_date" = date(now())
GROUP BY agent_name
Run Code Online (Sandbox Code Playgroud)