gpt4 book ai didi

sql - 如果键重复则返回最长的字符串

转载 作者:行者123 更新时间:2023-12-02 19:01:41 29 4
gpt4 key购买 nike

我有这样的数据:

   key   value
k1 string1
k2 Other string
k3 Long string
k1
k3 string

其中一些可能是空的。

如果键重复,我想返回最长的值。所以结果应该是这样的:

   key   value
k1 string1
k2 Other string
k3 Long string

我的代码(解决备忘录字段聚合):

"IIF(COUNT(key)=1, " & _
"MAX(IIF(LEN(value)>250, " & _
"'[CUT]' & LEFT(value, 245), " & _
value & "))," & _
"MAX(IIF(LEN(value)>250, " & _
"'[[CUT]' & LEFT(value, 245) & ']', " & _
"'[' & value & ']' ))) AS " & value

问题是我想从重复项中返回最长的字符串。现在我使用 MAX 函数,但此返回值是按字母顺序排列的,因此如果值为空,则返回空。

我正在使用 ADODB 获取数据

[Excel 12.0;Provider=Microsoft.ACE.OLEDB.12.0;Mode=Read;Extended Properties=IMEX=1;TypeGuessRows=1;ImportMixedTypes=Text'HDR=YES;']

最佳答案

你可以这样做:

select t.*
from t
where len(t.value) = (select max(len(t2.value))
from t t2
where t2.key = t.key
);

关于sql - 如果键重复则返回最长的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53898148/

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