我想知道是否有符合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
答案 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
是默认值,可以省略 - 几乎总是!