使用窗口函数将最高值添加为一列
P粉043295337
P粉043295337 2024-04-04 12:18:16
[MySQL讨论组]

我有一个如下表:

复制数据的查询:

DROP TABLE IF EXISTS units_table;
CREATE TEMP TABLE units_table
(
 Brand varchar(100),
 units numeric(38,12)
);


  INSERT INTO units_table (Brand, units)
   VALUES ('A',200),('B',0),('C',300),('D',400),('E',1500),('F',700),('G',800),('H',450);

专门使用窗口函数,我想获得表格中最高的值。如下所示:

但是当我使用时:

select

brand,
units,
FIRST_VALUE(units) OVER () as Highest

from units_table

它给出的第一个值为 0。如果我这样做,

select

brand,
units,
FIRST_VALUE(units) OVER (ORDER BY UNITS) as Highest

from units_table

抛出错误。 具体应该如何使用Window Function来解决这个问题呢?预先感谢您!

P粉043295337
P粉043295337

全部回复(2)
P粉616383625
select brand,units,
 FIRST_VALUE(units) OVER (ORDER BY UNITS DESC) as Highest
from units_table

对我有用

P粉959676410

您需要MAX()窗口函数:

SELECT brand,
       units,
       MAX(units) OVER () AS Highest
FROM units_table;

请参阅演示

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号