2017-09-13 47 views
0

我想使用COUNTDISTINCT和別名的表。與別名不同的SQL Server計數

SELECT COUNT(DISTINCT id) AS count 
FROM auth_users 

這工作,但我必須使用表的別名,就像這樣:

SELECT COUNT(DISTINCT User.id) AS count 
FROM auth_users AS User 

...這將返回一個錯誤:

Incorrect syntax near the keyword 'User'

如何重建與合作最簡單的方法?

在MySQL兩種方式工作的優良:)

+0

在SQL Server中的所有3個工作對我罰款。什麼是問題。 SELECT COUNT(DISTINCT SNO)AS計數與來自FileDetails SELECT COUNT(DISTINCT FileDetails.Sno)AS數量FROM FileDetails SELECT COUNT(DISTINCT Alias.Sno)AS數量FROM FileDetails AS別名 – Amit

回答

3

「用戶」是reserved keyword,所以,如果你想使用它作爲表的別名你用方括號來包裝它,請參閱下面的例子:

SELECT COUNT(DISTINCT [User].id) AS count FROM auth_users AS [User] 

SELECT COUNT(DISTINCT u.id) AS count FROM auth_users AS u 
+0

謝謝,你說得對與廣場! – kicaj