SQL组按字符串的一部分
发布时间:2020-12-12 16:52:02 所属栏目:MsSql教程 来源:网络整理
导读:我的表中有以下数据: 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/ 1
我的表中有以下数据:
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 有没有办法通过URL分组到SQL Server中的第三个斜杠(/)?不幸的是,存在少于三个的记录. 解决方法计算字符串中斜杠数量的一个诀窍是: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,url)+1)+1)-1) end as BeforeThirdSlash,* from @t ) as SubQueryAlias group by BeforeThirdSlash Live example at SQL Fiddle. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |