我的表中有以下数据:
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
Run Code Online (Sandbox Code Playgroud)
有没有办法按URL分组到/SQL Server中的第三个斜杠()?不幸的是,存在少于三个的记录.
计算字符串中斜杠数的一个技巧是:
len(url) - len(replace(url,'/',''))
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3293 次 |
| 最近记录: |