您好,我想按已替换字符但保留原始值的字段对结果进行分组。
这就是我所拥有的,但我需要返回原始 URL 值而不更改结果。
select Count(ID) as TotalClicks, Replace(URL, '/', '') as DistinctURL
from email_click_throughs
where emailid = @ID
group by Replace(URL, '/', '')
order by TotalClicks desc
最佳答案
这会给你所描述的内容,但它使“Replace(URL...”上的分组变得多余,所以我可能会误解:
select Count(ID) as TotalClicks, URL as DistinctURL
from email_click_throughs
where emailid = @ID
group by Replace(URL, '/', ''), URL
order by TotalClicks desc
如果您只想返回一个 URL,即使在删除“/”后两个 URL 相等,您也可以执行类似的操作
select Count(ID) as TotalClicks, Max(URL) as DistinctURL
from email_click_throughs
where emailid = @ID group by Replace(URL, '/', '')
order by TotalClicks desc
但是您无法控制哪些“匹配项”会被丢弃。
关于sql - SQL 中的替换和分组依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3313783/