SQL Server计数与表别名不同

时间:2017-09-13 14:55:24

标签: sql-server count distinct

我想将COUNTDISTINCT一起使用,并使用表格的别名。

SELECT COUNT(DISTINCT id) AS count 
FROM auth_users

这有效,但我必须使用表的别名,如下所示:

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

...这会返回错误:

  

关键字'用户'

附近的语法不正确

如何以最简单的方式重建工作?

在MySQL中,两种方式都可以正常工作:)

1 个答案:

答案 0 :(得分: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