You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中如何创建含三类最大值的单行三列视图

创建单行三列汇总视图的PostgreSQL方案

可以用两种简洁的方法实现需求:

方法一:CASE语句结合聚合函数

通过MAX()搭配CASE条件判断,直接在单行返回三类最大值:

CREATE VIEW value_summary AS
SELECT
  MAX(value) AS overall_max,
  MAX(CASE WHEN category = 1 THEN value END) AS category_1_max,
  MAX(CASE WHEN category = 2 THEN value END) AS category_2_max
FROM your_table_name;

说明:

  • 不符合CASE条件的行返回NULL,不会干扰MAX函数的计算结果
  • 记得把your_table_name替换成实际的表名

方法二:FILTER子句(PostgreSQL 9.4+支持)

PostgreSQL专属的FILTER子句让聚合条件的写法更直观:

CREATE VIEW value_summary AS
SELECT
  MAX(value) AS overall_max,
  MAX(value) FILTER (WHERE category = 1) AS category_1_max,
  MAX(value) FILTER (WHERE category = 2) AS category_2_max
FROM your_table_name;

验证结果

执行SELECT * FROM value_summary;会得到如下数据:

overall_maxcategory_1_maxcategory_2_max
434

内容的提问来源于stack exchange,提问作者user2555515

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:45:48