《count函数的各种用法》由会员分享,可在线阅读,更多相关《count函数的各种用法(3页珍藏版)》请在金锄头文库上搜索。
1、count函数用法不同COUNT函数的比较可以使用不同形式的COUNT函数检索关于表的不同类型信息。下面的表格总结了每种形式COUNT函数的含义:COUNT函数描述COUNT(*)返回满足查询的行数。如果没有指定WHERE子句,这个函数返回表的总行数。COUNT(DISTINCT)或COUNT(UNIQUE)返回指定列中非NULL唯一值的数量COUNT(column)或COUNT(ALLcolumn)返回指定列中非NULL值的总数一些例子可以帮助说明不同形式COUNT函数之间的区别。下面的大多数例子对演示数据库中orders表的ship_instruct列进行查询。关于orders表的结构和s
2、hip_instruct列中数据的信息,请参阅IBMInformix:SQL参考指南关于演示数据库的说明。Count(*)函数举例在下面的例子中,用户想知道orders表的总行数。因此用户可以在不带有WHERE子句的SELECT语句中调用COUNT(*)函数:SELECTCOUNT(*)AStotal_rowsFROMorders下面的表格给出了查询结果。total_rows23在以下的示例中,用户想知道orders表中有多少行在ship_instruct列中有NULL值。用户在带有WHERE子句的SELECT语句中调用COUNT(*)函数,并且在WHERE子句中指定ISNULL条件。SELE
3、CTCOUNT(*)ASno_ship_instructFROMordersWHEREship_instructISNULL下面的表格给出了查询结果。no_ship_instruct2在下面的例子中,用户想知道orders表中有多少行的ship_instruct列具有express值。因此用户可以在投影列表中调用COUNT(*)函数,并在WHERE子句中指定等于(=)关系运算符。SELECTCOUNT(*)ASship_expressFROMORDERSWHEREship_instruct=express下面的表格给出了查询结果。ship_express6COUNTDISTINCT函数举例在下
4、一个示例中,用户想知道orders表的ship_instruct列中有多少非NULL唯一值。用户在SELECT语句的投影列表中调用COUNTDISTINCT函数。SELECTCOUNT(DISTINCTship_instruct)ASunique_notnullsFROMorders下面的表格给出了查询结果。unique_notnulls16COUNTcolumn函数举例在以下的示例中,用户想知道orders表的ship_instruct列中有多少非NULL值。用户在SELECT语句的投影列表中调用COUNT(column)函数。SELECTCOUNT(ship_instruct)AStotal_notnullsFROMorders下面的表格给出了查询结果。total_notnulls21类似的对ship_instruct列中非NULL值的查询可以包括跟随COUNT关键字的括号内的ALL关键字:SELECTCOUNT(ALLship_instruct)ASall_notnullsFROMorders下表给出的查询结果无论包含或省略ALL关键字都是一样的(因为ALL是缺省值)。