gpt4 book ai didi

SQL 按字符串的一部分进行分组

转载 作者:行者123 更新时间:2023-12-02 08:40:51 25 4
gpt4 key购买 nike

我的表中有以下数据:

URL         TIME    DATE
--------------------------------------
/x 11 2013-08-01
/x 11 2013-08-01
/pl/ 11 2013-08-01
/pl/ 11 2013-08-03
/pl/XXX/ 11 2013-08-01
/pl/XXX/ 11 2013-08-04
/pl/XXX/1 11 2013-08-01
/pl/XXX/2 11 2013-08-01
/pl/YYY/ 11 2013-08-01
/pl/YYY/1 11 2013-08-01
/pl/YYY/2 11 2013-08-04
/pl/YYY/3 11 2013-08-04

有没有办法在 SQL Server 中按 URL 分组到第三个斜杠 (/)?不幸的是,存在包含少于三个的记录。

最佳答案

计算字符串中斜杠数量的一个技巧是:

len(url) - len(replace(url,'/',''))

然后您可以使用 charindex 三次来查找第三个斜杠的位置:

select  BeforeThirdSlash
, max([date])
from (
select case
when len(url) - len(replace(url,'/','')) < 3 then url
else substring(url, 1, charindex('/', url, charindex('/',
url, charindex('/', url)+1)+1)-1)
end as BeforeThirdSlash
, *
from @t
) as SubQueryAlias
group by
BeforeThirdSlash

Live example at SQL Fiddle.

关于SQL 按字符串的一部分进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354006/

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