选择计数SQL语句的ANSI支持

时间:2012-01-20 21:30:54

标签: sql ansi-sql

我想知道是否有符合ANSI标准的受支持的Select Count SQL语句列表?以下三种变化是我所知道的。 where子句可以用在下面的所有三个上吗?

SELECT COUNT(*) AS RowCount FROM table_name
SELECT COUNT(ColumnName) AS RowCount FROM table_name
SELECT COUNT(DISTINCT ColumnName) AS RowCount FROM table_name

2 个答案:

答案 0 :(得分:2)

几乎所有DBMS使用的SQL标准都是ANSI 92标准,可以在http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt找到。页面124包含您要查找的信息。除了ANSI 92标准之外,大多数DBMS都提供了一些东西,但这是所有这些标准中最低的共同点。

答案 1 :(得分:0)

标准规范赋予COUNT(*)特殊含义。否则,ColumnName是实现定义的任何有效表达式。

你错过了一个:

SELECT COUNT(ALL ColumnName) AS RowCount FROM table_name;

SELECT ALL一样,ALL是默认值,可以省略 - 几乎总是!