我在SQL Server中编写了一个函数来获取id的最大值,以便我可以使用它进行排序
create function dbo.DQ_ACC_PROCESS_EXEC_MASTER_SK()
returns bigint
as
begin
declare @MAX_PK as BIGINT;
select @MAX_PK = max(Process_ID) + 1
from dbo.DQ_ACC_PROCESS_EXEC_SUMMARY_LOG
return @MAX_PK;
end;
对于第一次运行,该表将没有任何值,所以虽然我使用+1,但它不会给我1作为返回结果。
我也试过了ISNULL(PROCESS_ID, 1)
和CASE WHEN PROCESS_ID ISNULL THEN 0 ELSE PROCESS_ID END
。我也试过COALESCE
。因此,他们都没有返回1。
答案 0 :(得分:1)
尝试以下查询
from operator import itemgetter
print(list(itemgetter(*b)(a)))
如果表格没有数据,它将返回[array([ 0.1, 0.1, 0.1]), array([ 0.1, 0.1, 0.1]), array([ 0.1, 0.1, 0.1]), array([ 0.2, 0.2, 0.2])]
,否则将返回下一个select @MAX_PK=ISNULL(max(Process_ID),0)+1
from dbo.DQ_ACC_PROCESS_EXEC_SUMMARY_LOG