Tsql 使用varchar按问题分组
数据库中有一些链接存储为varchar。有了这些链接,我想使用分组方式Tsql 使用varchar按问题分组,tsql,Tsql,数据库中有一些链接存储为varchar。有了这些链接,我想使用分组方式 http://example.com http://example.com http://example.com 数据上的SQL: SELECT COUNT(*) c, Url FROM Advertisements GROUP BY Url 我想要这个输出: c Url 3 http://example.com 但是我得到了三次: c Url 1 http://example.com 为什么不选
http://example.com
http://example.com
http://example.com
数据上的SQL:
SELECT COUNT(*) c, Url
FROM Advertisements
GROUP BY Url
我想要这个输出:
c Url
3 http://example.com
但是我得到了三次:
c Url
1 http://example.com
为什么不选择将varchar字段分组?它们是相同的,但GROUP BY没有检测到这一点。有什么想法吗?如果包含这些url的字符串是存储的数据,那么它们不是相同的url,每个url都是不同的。因此,group by会将每个url放在不同的组中。结尾是不同的 7i18704 5i18704 4i18704 根据你的评论,我已经更新了他们的分组。试一试,你会得到什么
CREATE TABLE #Advertisements
(
ID INT IDENTITY(1,1),
Url VARCHAR(200)
)
INSERT INTO #Advertisements VALUES
('http://example.com')
INSERT INTO #Advertisements VALUES
('http://example.com')
INSERT INTO #Advertisements VALUES
('http://example.com')
SELECT COUNT(*) c, Url
FROM #Advertisements
GROUP BY Url
正如HLGEM和Martin所说,字段中的整个文本必须相同,以便GROUP BY工作,您可以使用类似GROUP BY SUBSTRING(Url,0,30)的内容,这样您将得到: URL |计数
http://example.com |3
你能把实际数据粘贴到你的问题中吗?哈哈。。这些链接不是很有用,我很想帮忙,但这些对我来说都没有任何意义。请更新表中的数据、使用的查询以及最终结果。否此链接不可单击。这是存储在DB中的链接,我用于GROUPBY。不需要实际的URL。