select count(1)和 select count(*)

count(1),其实就是计算一共有多少符合条件的行。
1并不是表示第一个字段,而是表示一个固定值。
其实就可以想成表中有这么一个字段,这个字段就是固定值1,count(1),就是计算一共有多少个1.
同理,count(2),也可以,得到的值完全一样,count(‘x‘),count(‘y‘)都是可以的。一样的理解方式。在你这个语句理都可以使用,返回的值完全是一样的。就是计数。
count(*),执行时会把星号翻译成字段的具体名字,效果也是一样的,不过多了一个翻译的动作,比固定值的方式效率稍微低一些

原文地址:https://www.cnblogs.com/java51/p/12076228.html

时间: 2024-11-11 08:03:20

select count(1)和 select count(*)的相关文章

COUNT(*),count(1),COUNT(ALL expression),COUNT(DISTINCT expression)

创建一个测试表 1 IF OBJECT_ID( 'dbo.T1' , 'U' 2 )IS NOT NULL 3 BEGIN 4 DROP TABLE dbo.T1; 5 END; 6 GO 7 CREATE TABLE dbo.T1( column_1 int ,column_2 varchar(30)); 8 GO 9 10 11 INSERT INTO dbo.T1( column_1 , column_2 ) 12 VALUES( 1 , '123') , ( 2 , '1234') ,

hql中不能写count(1)可以写count(a.id)

hql中不能写count(1)可以写count(a.id)里面写具体的属性 String hql="select new com.haiyisoft.vo.entity.cc.repo.BusinessStat(  r.paramName ,t.paramName , " +" (select nvl(count(1),0) " +" from com.haiyisoft.entity.cc.busi.Business b,com.haiyisoft.en

select count(1) 和 select count(*)的区别

统计一个表T有多少行数据,通常写法是: 查询A:select count(*) from T 但也可以采用下面语句来查: 查询B:select count(1) from T 结果通常是一样的.那么二者区别在哪里呢? 如果T表是个很大的表,那么查询速度将有显著的差异.实践中T表有4200万行,采用查询B,耗时3分多钟,而采用查询A,则耗时不到1秒.可见在大表的查询上必须非常谨慎. 那么为什么查询A比查询B快呢? 个人分析认为,查询A不需要过滤,直接用末行位置-首行位置/每行占用位置.而查询B,因

SQL Fundamentals: Basic SELECT statement基本的select语句

Basic SELECT statement基本的select语句 The basic syntax for a SELECT statement is presented below. SELECT语句的基本语法如下. |:多选一 []:可选择的内容 {}:多选一 没有被{}括起来的是必选 SELECT [DISTINCT | ALL] {* | select_list} FROM {table_name [alias] | view_name}     [{table_name [alias

<select>改造成<s:select>实现表单的回显功能

初始: <select name="viewType"> <option value="0">全部主题</option> <option value="1">全部精华帖</option> </select> 改造: <s:select name="viewType" list="%{ #{0:'全部主题' , 1:'全部精华帖} }&quo

MySQL select into 和 SQL select into

现在有张表为student,我想将这个表里面的数据复制到一个为dust的新表中去,虽然可以用以下语句进行复制,总觉得不爽,希望各位帮助下我,谢谢. answer 01: create table dust select * from student;//用于复制前未创建新表dust的情况下 answer 02: insert into dust select * from student;//已经创建了新表dust的情况下 现在请各位用select..into..语句实现以上东东,谢谢支持,再次

sql中奇怪的sum(1),sum(2),count(1),count(6),count(*):统计总数

sql的统计函数 sql统计函数有 count 统计条数,配合group用 sum 累加指定字段数值 但注意sum(1)就特殊 sum(1)等同于count(*) sum(1)统计个数,功能和count(*)一样,但效率上count(*)高.所以尽量少用. 举个小例子 SELECT ad_network_id,,sum(1),count(*),sum(2),count(5) from mapping_table_analytics GROUP BY ad_network_id 运行结果为: 3

mysql 不同条件count ,多条件count()

create table abc(A int,B int) Select A,count(B) as total from ABC group by A Select A,count(B) as total1 from ABC where B > 30 group by A Select A,count(B) as totlal2 from ABC where B > 20 group by A 如何合并这三个查询?得到一个查询结果:A,total,total1,total2 答: Selec

38. Count and Say序列 Count and Say

The count-and-say sequence is the sequence of integers beginning as follows:1, 11, 21, 1211, 111221, ... 1 is read off as "one 1" or 11.11 is read off as "two 1s" or 21.21 is read off as "one 2, then one 1" or 1211. Given an