gpt4 book ai didi

mysql - 使用 SQL 查询生成多个最大值和最小值

转载 作者:行者123 更新时间:2023-11-29 04:13:00 25 4
gpt4 key购买 nike

我对 SQL 的一个奇怪限制感到沮丧 - 它显然无法在聚合函数之外将一条记录与另一条记录相关联。我的问题总结如下。我有一张 table ,已经整理好了。我需要找到它的最大值(注意复数!)和最小值。不,我不是在寻找单个最大值或单个最小值。更具体地说,我正在尝试生成一个数字序列的局部峰值列表。生成此算法的粗略描述是:

WHILE NOT END_OF_TABLE
IF RECORD != FIRST_RECORD AND RECORD != LAST_RECORD THEN
IF ((RECORD(Field)<RECORD_PREVIOUS(Field) AND RECORD(Field)<RECORD_NEXT(Field)) OR
RECORD(Field)>RECORD_PREVIOUS(Field) AND RECORD(Field)>RECORD_NEXT(Field)) THEN
ADD_RESULT RECORD
END IF
END IF
END WHILE

看到问题了吗?我需要查询给定记录必须与上一条记录和下一条记录的值进行比较。这甚至可以在标准 SQL 中完成吗?

最佳答案

许多人都对您感到沮丧;虽然 SQL 非常适合处理一般 集,但在尝试处理特定于有序 集的问题(无论它是在表中物理排序还是有隐式或明确的逻辑顺序无关紧要)。有一些东西可以提供帮助(例如,rank()row_number() 函数),但不同 RDBMS 的解决方案可能不同。

如果您可以具体说明您正在使用哪个平台,我或其他人可以提供更详细的答案。

关于mysql - 使用 SQL 查询生成多个最大值和最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5393688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com