gpt4 book ai didi

sql - 从表值函数返回的排序结果

转载 作者:行者123 更新时间:2023-12-02 03:29:32 27 4
gpt4 key购买 nike

我有一个返回表的用户定义函数。问题是这个表需要根据复杂的标准进行排序,因此它不应该由函数调用者排序,而是需要在函数本身中排序。

简化示例

select * 
from custom_function('param1', 'param2' ...)
order by
complex criteria 1,
complex criteria 2....

是否可以将 order by 移动到函数中并从 select 中获取有序结果?

最佳答案

您不能直接对表进行排序,但可以添加一个指定排序的列。因此,将函数定义为:

select . . .,
row_number() over (order by <complex ordering criteria>) ord
. . .

然后你可以这样调用它:

select f.*
from dbo.func(. . .) f
order by ord;

关于sql - 从表值函数返回的排序结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52201592/

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