SQL COUNT() 语法总结及用法【原创】

Author:张继飞       

     char sql[200];
            int rc, ncols, iCount;
            char *tail;
            sqlite3_stmt *stmt;

                sprintf(sql, "%s","select count(*) from Phonebook;");
                rc = sqlite3_prepare(db, sql, strlen(sql), &stmt, &tail);
                if (rc !=SQLITE_OK)
                {
                    break;
                }
                rc = sqlite3_step(stmt);

                iCount = sqlite3_column_int(stmt, 0);

                sqlite3_finalize(stmt);
                if(iCount >= 200)
                {
                     printf("iCount >= 200\n");
                }

上面一段代码用来统计Phonebook表中总的行数,使用sql 的count来实现,存到iCount中。

 

这里为相关资料。将会后续补充。

COUNT() 函数返回匹配指定条件的行数。

SQL COUNT() 语法
SQL COUNT(column_name) 语法

COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):

SELECT COUNT(column_name) FROM table_name
SQL COUNT(*) 语法

COUNT(*) 函数返回表中的记录数:

SELECT COUNT(*) FROM table_name
SQL COUNT(DISTINCT column_name) 语法

COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:

SELECT COUNT(DISTINCT column_name) FROM table_name

注释:COUNT(DISTINCT) 适用于 ORACLE 和 Microsoft SQL Server,但是无法用于 Microsoft Access。

SQL COUNT(column_name) 实例

我们拥有下列 "Orders" 表:

O_Id
OrderDate
OrderPrice
Customer

1
2008/12/29
1000
Bush

2
2008/11/23
1600
Carter

3
2008/10/05
700
Bush

4
2008/09/28
300
Bush

5
2008/08/06
2000
Adams

6
2008/07/21
100
Carter

现在,我们希望计算客户 "Carter" 的订单数。

我们使用如下 SQL 语句:

SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Carter'

以上 SQL 语句的结果是 2,因为客户 Carter 共有 2 个订单:

CustomerNilsen

2

SQL COUNT(*) 实例如果我们省略 WHERE 子句,比如这样:

SELECT COUNT(*) AS NumberOfOrders FROM Orders

结果集类似这样:

NumberOfOrders

6

这是表中的总行数。

SQL COUNT(DISTINCT column_name) 实例

现在,我们希望计算 "Orders" 表中不同客户的数目。

我们使用如下 SQL 语句:

SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

结果集类似这样:

NumberOfCustomers

3

这是 "Orders" 表中不同客户(Bush, Carter 和 Adams)的数目。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值