SQL Server:在聚合函数中使用用户定义的列
例如,我有SQL Server:在聚合函数中使用用户定义的列,sql,sql-server,tsql,Sql,Sql Server,Tsql,例如,我有 SELECT SUBSTRING([Path], 0, 5) AS [Directory] , COUNT([Directory]) FROM [MyDatabase] GROUP BY [Directory]; 但是我得到一个“无效列名”错误。这应该可以: SELECT SUBSTRING([Path], 0, 5) AS [Directory] , COUNT(1) FROM [MyDatabase] GROUP BY SUBSTRING([Path],
SELECT SUBSTRING([Path], 0, 5) AS [Directory]
, COUNT([Directory])
FROM [MyDatabase]
GROUP BY [Directory];
但是我得到一个“无效列名”错误。这应该可以:
SELECT SUBSTRING([Path], 0, 5) AS [Directory]
, COUNT(1)
FROM [MyDatabase]
GROUP BY SUBSTRING([Path], 0, 5);
这应该起作用:
SELECT SUBSTRING([Path], 0, 5) AS [Directory]
, COUNT(1)
FROM [MyDatabase]
GROUP BY SUBSTRING([Path], 0, 5);
问题是count()中使用的列名中的别名,我也不明白为什么只需要计数就需要两列。试一试
SELECT COUNT(SUBSTRING([Path], 0, 5))
FROM [MyDatabase];
如果两列都需要,请单击此处:
SELECT SUBSTRING([Path], 0, 5) AS [Directory]
, COUNT(SUBSTRING([Path], 0, 5) )
FROM [MyDatabase]
GROUP BY SUBSTRING([Path], 0, 5);
问题是count()中使用的列名中的别名,我也不明白为什么只需要计数就需要两列。试一试
SELECT COUNT(SUBSTRING([Path], 0, 5))
FROM [MyDatabase];
如果两列都需要,请单击此处:
SELECT SUBSTRING([Path], 0, 5) AS [Directory]
, COUNT(SUBSTRING([Path], 0, 5) )
FROM [MyDatabase]
GROUP BY SUBSTRING([Path], 0, 5);
我也需要子字符串。这是一个更大的查询的一部分,我明白了。我重写了它。粘贴第二个查询并重试。我还需要子字符串。这是一个更大的查询的一部分,我明白了。我重写了它。粘贴第二个查询并重试。谢谢!我相信这是你可以在谷歌上找到的东西,但我无法让它停止只返回有关用户定义聚合函数的内容。@user2476260-np,很高兴我能提供帮助。谢谢!我相信这是你可以在谷歌上找到的东西,但我无法让它停止只返回有关用户定义聚合函数的内容。@user2476260-np,很高兴我能提供帮助。