我是MS SQL的新手,我试图在表格中获取所有重复的电子邮件。我找到了一个适用于MySQL的类似查询,但是当它在MS SQL中运行时,我得到错误无效的列名'ct'。
我运行的查询是:
SELECT
[ShipEmail],
COUNT(*) as ct
FROM [ShipWorksDefault].[dbo].[Customers] GROUP BY [ShipEmail] HAVING [ct] > 1
我猜我有一些非常简单的东西。
非常感谢提前!
答案 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