`
pxx199248
  • 浏览: 17995 次
  • 性别: Icon_minigender_1
  • 来自: 衡阳
社区版块
存档分类
最新评论

Select Count (*),Select Count(1),Select Count(column)的区别

    博客分类:
  • sql
阅读更多
1.Select Count (*),Select Count(1),Select Count(column)的区别

2.各自在什么情形下使用最优




count( * )是计算结果集中所有的行或者group by的结果集;

count(column_name)仅仅计算column_name NOT NULL的行数;需要对column_name进行检查,所以某些情况下及时没有空值,效率也会略低,除非明确指定column_name为not null;

count(1)和count(*)一样,因为1始终不为NULL;

========================================================

count(1),其实就是计算一共有多少符合条件的行。

1并不是表示第一个字段,而是表示一个固定值。

其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.

同理,count(2),也可以,得到的值完全一样,count('x'),count('y')都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。

count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些







分享到:
评论

相关推荐

    MySQL中count(*)、count(1)和count(col)的区别汇总

    本篇文章将详细解释COUNT(*)、COUNT(1)以及COUNT(column)这三种不同用法的区别。 1. COUNT(*) COUNT(*)是最常见的用法,它会计算表中所有非NULL的行。这意味着,即使列中有NULL值,COUNT(*)也会将其计入总数。在...

    select count()和select count(1)的区别和执行方式讲解

    除了`COUNT()`,`SELECT 1`和`SELECT *`也是SQL中的常用操作。`SELECT 1`返回一个常量值1,对于每一行,结果都是1,通常用于`EXISTS`子句来检查是否存在满足条件的行。而`SELECT *`则返回所有列的所有数据,这在获取...

    SELECT IN SQL

    SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > 1; ``` 10. **ORDER BY子句** 使用`ORDER BY`对结果进行排序,可以指定升序`ASC`或降序`DESC`: ``` SELECT * FROM table_name...

    MySQL中distinct和count(*)的使用方法比较

    1. 计算不重复记录数量:`SELECT COUNT(DISTINCT id) FROM tablename;` 这个查询将返回 `tablename` 表中唯一 `id` 值的数量。 2. 返回不重复的字段值:`SELECT DISTINCT id FROM tablename;` 此查询将返回 `...

    Oracle中的select大全

    SELECT LOWER(column), UPPER(column), INITCAP(column), CONCAT(column1, column2), SUBSTR(column, start_position, length) FROM table_name; ``` - **示例**:获取员工姓名的首字母大写版本。 ```sql ...

    sql中null值对count的影响

    SELECT COUNT(*), COUNT(pid), COUNT(ISNULL(pid, '')) FROM tbl_user WHERE pid IS NOT NULL; ``` 结果是`(2, 2, 2)`,因为只有两行的`pid`不是`NULL`,且这两行中的`pid`被成功计数。 2. **只考虑`NULL`值的...

    SQL语句基础教程.doc

    - **语法**: `SELECT AVG(column_name) AS 'Median' FROM (SELECT column_name FROM table_name ORDER BY column_name LIMIT 2 - (SELECT COUNT(*) FROM table_name) % 2 OFFSET (SELECT (COUNT(*) - 1) / 2 FROM ...

    sql精妙语句 学习手册

    - **语法**: `SELECT column1, column2 FROM table1 INTERSECT ALL SELECT column1, column2 FROM table2;` - **说明**: 返回同时存在于table1和table2中的所有记录,包括重复项。 - **示例**: `SELECT column1, ...

    渗透常用SQL注入语句大全.doc

    UNION Select TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS Where TABLE_NAME=logintable ``` - **利用联合查询(UNION SELECT)**:通过联合查询,可以在一次请求中获取多个查询结果,提高效率。 - **...

    select 回选

    SELECT column1, COUNT(*) FROM table_name GROUP BY column1 HAVING COUNT(*) > 1; ``` 这个查询会返回在`column1`中有多个不同值的行。 5. **聚合函数**:如COUNT(), SUM(), AVG()等,它们可以用来计算选定...

    sql学习资料,总结的很好

    - **语法**:`SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;` - **示例**:`SELECT store_name, COUNT(*) FROM Store_Information GROUP BY store_name HAVING COUNT...

    25.1 MySQL SELECT语句

    SELECT column1, column2, ... FROM table_name; ``` 这里,`column1, column2, ...`是你想要从表中选择的列名,`table_name`是你要查询的表的名称。 ### 二、选择所有列 如果你想要选择表中的所有列,可以使用...

    mysql查询语句汇总.rar

    - **HAVING**:在分组后筛选,`SELECT column1, COUNT(*) FROM table GROUP BY column1 HAVING COUNT(*) > N;` 6. **视图** - **CREATE VIEW**:创建虚拟表,方便重复查询,`CREATE VIEW view_name AS SELECT ...

    SQL语句教程

    - **语法**:`SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;` - **示例**:`SELECT store_name, COUNT(*) FROM Store_Information GROUP BY store_name HAVING COUNT...

    SQL学习教程

    - **语法**: `SELECT COUNT(column_name) FROM table_name;` - **示例**: 计算`Store_Information`表中有多少条记录。 - **命令**: `SELECT COUNT(*) FROM Store_Information;` **2. GROUP BY** - **功能**: 将...

    select 万能select

    SELECT column1, column2, ... FROM table_name; ``` 这里的`column1, column2,...`是你希望从表中选择的列,而`table_name`是你要从中选择数据的表名。`SELECT`语句的万能性体现在其强大的灵活性和可扩展性上,它...

    SQL查询语句45个例题及答案

    5. **HAVING子句**:与WHERE类似,但应用于分组后的结果,如`SELECT column1, COUNT(*) FROM table GROUP BY column1 HAVING COUNT(*) > 5;` 6. **ORDER BY子句**:用于排序查询结果,如`SELECT * FROM table ORDER...

    mysql技巧之select count的区别分析

    然而,根据选择的不同,`COUNT(*)`、`COUNT(1)` 和 `COUNT(column_name)` 之间存在微妙的差异,这些差异在特定情况下可能会对查询性能产生影响。下面将详细分析这些不同选择的区别。 首先,`SELECT COUNT(*)` 是最...

Global site tag (gtag.js) - Google Analytics