gpt4 book ai didi

sql - 从 postgreSQL 中的过滤结果中选择记录

转载 作者:行者123 更新时间:2023-11-29 12:54:23 25 4
gpt4 key购买 nike

我有一个函数可以给我有序的行(该函数已经按结果排序):

通过做:select * from func1(ID)

示例 A:

rownum  date qty
1 1.1.10 -5
2 1.10.10 6
3 2.10.10 6
4 5.10.10 -2
5 6.10.10 -8

示例 B:

rownum  date qty
1 1.1.10 -7
2 1.10.10 6

备注:rownum是我在我的函数中手动计算的一列。它的顺序完全符合我的需要。所以可以以此为基础。

我想编写一个查询,从底部到顶部(最高 rownum 到最低 rownum )传递行并返回 date第一个遇到的具有负数的行 qty

例如 A 返回值为 6.10.10 (rownum 5 是第一行 qty 为负值)例如 B 1.1.10 (rownum 2为第一行qty为负数)

我该怎么做?

最佳答案

您可以使用 ROW_NUMBER:

WITH cte AS (
SELECT *, ROW_NUMBER() OVER (ORDER BY rownum DESC) as rn
FROM func1(ID)
WHERE qty < 0
)
SELECT *
FROM cte
WHERE rn = 1;

关于sql - 从 postgreSQL 中的过滤结果中选择记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46912500/

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