SQL - SELECT COUNT用法

SQL Server数据库

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

  语法

  SQL COUNT(column_name) 语法

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

  SELECT COUNT(column_name) FROM table_nameSQL COUNT(*) 语法

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

  SELECT COUNT(*) FROM table_nameSQL COUNT(DISTINCT column_name) 语法

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

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

实例

  我们拥有下列 "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 OrdersWHERE Customer=‘Carter‘以上 SQL 语句的结果是 2,因为客户 Carter 共有 2 个订单:

CustomerNilsen
2

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

  SELECT COUNT(*) AS NumberOfOrders FROM Orders结果集类似这样:

NumberOfOrders
6

这是表中的总行数。

SQL 实例

COUNT和 DISTINCT 经常被合起来使用,目的是找出表格中有多少笔不同的资料 (至于这些资料实际上是什么并不重要)。

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

  我们使用如下 SQL 语句:

  SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders结果集类似这样:

  

NumberOfCustomers
3

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

http://blog.csdn.net/kalision/article/details/7739190

时间: 2024-10-25 07:31:15

SQL - SELECT COUNT用法的相关文章

SQL Select count(*)和Count(1)的区别和执行方式及SQL性能优化

SQL性能优化:http://www.cnblogs.com/CareySon/category/360333.html Select count(*)和Count(1)的区别和执行方式 在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数.很多人其实对这三者之间是区分不清的.本文会阐述这三者的作用,关系以及背后的原理. 往常我经常会看到一些所谓的优化建议不使用Count(* )而是使用Count(1),从而可以提升性能,给出的理由是Coun

mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_CA

php学习之道:mysql SELECT FOUND_ROWS()与COUNT(*)用法区别

在mysql中 FOUND_ROWS()与COUNT(*)都可以统计记录,如果都一样为什么会有两个这样的函数呢,下面我来介绍SELECT FOUND_ROWS()与COUNT(*)用法区别 SELECT语句中经常可能用LIMIT限制返回行数.有时候可能想要知道如果没有LIMIT会返回多少行,但又不想再执行一次相同语句.那么,在SELECT查询中包含SQL_CALC_FOUND_ROWS选项,然后执行FOUND_ROWS()就可以了:  代码如下 复制代码 mysql> SELECT SQL_CA

select count(*) from v$lock 查询慢

select count(*) from v$lock 查询慢 解决方法,具体原因看官方优化文档哈 SQL> set time on 00:51:52 SQL> select count(*) from v$lock; COUNT(*) ---------- 35 00:55:10 SQL> select /*+ rule */ count(*) from v$lock; COUNT(*) ---------- 35 00:55:38 SQL> 官方的解决方法 Query Agai

Wrong number of parameters: expected 0, was given 1 Query: select count(*) from product where pname like '%?%' Parameters: [%小%]

eclipse在dao层写的模糊查询sql:String sql = "select count(*) from product where pname like '%?%'": 这样写会导致以下错误 Wrong number of parameters: expected 0, was given 1 Query: select count(*) from product where pname like '%?%' Parameters: [%小%]<br/> 原因:

“取出数据表中第10条到第20条记录”的sql语句+select top 用法

1.首先,select top用法: 参考问题  select top n * from和select * from的区别 select * from table --  取所有数据,返回无序集合 select top n * from table  -- 根据表内数据存储顺序取前n条,返回无序集合 select * from table order by id desc -- 取所有数据,按id逆序返回有序列表 select top n * from table order by id des

select count(1) from table where ..这句sql语句的作用

作用是计算一共有多少符合条件的行.1并不是表示第一个字段,而是表示一个固定值,count(1)和count(2)效果是一样的 count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些.count(字段值),将返回符合条件的非空数量 1.查询所有数据,列出7列数据 2.使用count(1)查询结果,返回7 3.使用count(*)查询结果,返回7 4.括号中是表中的字段值,count(字段值),返回表中非空的C_Id字段下的数据数量

从多表连接后的select count(*)看待SQL优化

从多表连接后的select count(*)看待SQL优化 一朋友问我,以下这SQL能直接改写成select count(*) from a吗? SELECT COUNT(*) FROM a LEFT JOIN b ON a.a1 = b.b1 LEFT JOIN c ON b.b1 = c.c1 废话不多说,直接上实验. 1. 准备数据 创建测试表a,b,c,并插入数据,a有重复数据,b是唯一数据,c是唯一数据,d有重复数据. 1) 创建a表 create table a (a1 int);

SQL Server select count(distinct *)

测试表:student select * from studnet; .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csha