2017-09-13 45 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