简单的MS SQL Bug

时间:2010-12-15 19:57:58

标签: mysql sql-server sql

我是MS SQL的新手,我试图在表格中获取所有重复的电子邮件。我找到了一个适用于MySQL的类似查询,但是当它在MS SQL中运行时,我得到错误无效的列名'ct'。

我运行的查询是:

SELECT   
  [ShipEmail], 
  COUNT(*) as ct

FROM [ShipWorksDefault].[dbo].[Customers] GROUP BY [ShipEmail] HAVING [ct] > 1

我猜我有一些非常简单的东西。

非常感谢提前!

3 个答案:

答案 0 :(得分:9)

只需将HAVING子句更改为不使用列别名:

有计数(*)> 1

答案 1 :(得分:1)

您不能在having子句中使用别名。尝试:

SELECT   
  [ShipEmail], 
  COUNT(*) as ct

FROM [ShipWorksDefault].[dbo].[Customers] GROUP BY [ShipEmail] HAVING COUNT(*) > 1

答案 2 :(得分:0)

SELECT   
  [ShipEmail], 
  COUNT(*) as ct
FROM [ShipWorksDefault].[dbo].[Customers] 
GROUP BY [ShipEmail] HAVING COUNT(*) > 1

SELECT   
  [ShipEmail], 
  COUNT(*) as ct
FROM [ShipWorksDefault].[dbo].[Customers] 
GROUP BY [ShipEmail] HAVING COUNT([ShipEmail]) > 1