首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MySQL查询---COUNT函数

所以上一篇主要提到了几种可以优化分页的方案,而且分页业务一般都伴随着需要count函数查询总条数,所以本篇文章主要讲讲count函数的一般优化方案。 为什么分页一般要伴随查询数量?...函数查询条数的逻辑了,而是大部分分页往往伴随着需要查询总数量的业务。...*:查询符合条件的行数,和列值是否为NULL无关,返回结果都会返回。 常量:查询符合条件的行数,和列值是否为NULL无关,返回结果都会返回。...因为Mysql官方文档写了这么一句话: InnoDB handles SELECT COUNT(*) and SELECT COUNT(1) operations in the same way....我个人建议使用count(*),因为SQL92标准中制定count(*)为标准统计行数的语法,所以Mysql一直在不断地对count(*)做一定的优化。那有人说count(id)效率会不会更高?

3.1K20
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL系列(2)——聚合函数查询

一、聚合函数查询 1.COUNT()函数——用来统计记录的条数; 例如查询grade表中有几条数据: 先看grade表中所有的数据:select * from grade; ?...总共9条数据,as total是给count(*)取别名; 2.SUM()函数——是求和函数,计算一列值的总和(此列必须是数值型数据); 例如查询grade表中张三的总分: select stuName...3.AVG()函数——求一列值的平均值的函数; 例如,查询表中张三的平均分: select stuName,avg(score) from grade where stuName='张三'; ?...4.MAX()函数——求一列值的最大值的函数 例如,查询表中张三score的最大值 select stuName,max(score) from grade where stuName='张三'; ?...二、GROUP BY分组查询 group by 常常与聚合函数一起使用 1.与COUNT(*)函数一起使用 例如:查询grade表中的记录条数,并按照姓名分组: select stuName,count

1.6K30

Mysql手册查询之常用函数大全

聚合函数(常用于GROUP BY从句的SELECT查询中) AVG(col)返回指定列的平均值 COUNT(col)返回指定列中非NULL值的个数 MIN(col)返回指定列的最小值 MAX(col)返回指定列的最大值...(str)或UPPER(str) 返回将字符串str中所有字符转变为大写的结果 四、日期和时间函数 CURDATE()或CURRENT_DATE() 返回当前的日期 CURTIME()或CURRENT_TIME...MySQL有4个函数是用来进行条件操作的,这些函数可以实现SQL的条件逻辑,允许开发者将一些应用程序业务逻辑转换到数据库后台。...为了进行数据类型转化,MySQL提供了CAST()函数,它可以把一个值转化为指定的数据类型。...() 返回最后一个SELECT查询进行检索的总行数 USER()或SYSTEM_USER() 返回当前登陆用户名 VERSION() 返回MySQL服务器的版本 示例: SELECT DATABASE

1.3K20

mysql自定义函数写法_mysql自定义函数返回多列值

1、先查看函数功能是否开启:show variables like ‘%func%’; 若是未开启则:SET GLOBAL log_bin_trust_function_creators=1; 关闭则是...:SET GLOBAL log_bin_trust_function_creators=0; 2、自定义函数: delimiter $$; 这个函数是合并两个字符串 delimiter $$; DROP...set newName = CONCAT(materialName,'(‘,cheName,’)’); END IF; RETURN newName; END $$; delimiter ; 3、查看函数...: show function status; 其它自定义函数: SET FOREIGN_KEY_CHECKS=0; — —————————- — Function structure for caseChoose...elseif chooseNum = 200 — 跳出循环 THEN LEAVE loop1; — if要有结束语句否则错误 end if; — 结束循环 标志位 end loop loop1; — 返回内容

2.4K20

【Python】函数 ③ ( 函数返回值定义语法 | 函数返回多个返回值 | 代码示例 )

一、函数返回值定义语法 在 Python 函数中 , 通过 return 关键字 , 可以返回一个结果给调用者 , 这个返回结果就是 函数返回值 ; def 函数名(函数参数): """函数文档字符串...(可选)""" # 函数体 return 返回值 调用函数时 , 使用 变量 可以接收函数返回值 ; 变量 = 函数(参数列表) 在函数中 , 如果遇到 return 关键字 , 则不会执行后续函数体中的代码..., 可以使用元组(tuple)或者列表(list)存储返回值 , 并将其赋值给一个变量 , 下面的代码 , 就是在函数中 , 返回了两个值 , """ 函数返回值示例 """ # 定义返回多个返回值的函数...""" 函数返回值示例 """ # 定义函数, 并设置函数返回值 def add(a, b): return a + b # 接收函数返回值 sum = add(1, 2) # 打印函数返回值...print(f"函数返回值为 {sum}") 执行结果 : 函数返回值为 3

43020

【JavaScript】函数 ④ ( 函数返回值 | 函数返回值语法 return 关键字 | 函数默认返回值 undefined )

一、JavaScript 函数返回值 1、函数返回值引入 JavaScript 函数 可以 实现某种特定的功能 , 执行完毕 , 可以返回一个 " 返回值 " ; 当 函数 被调用执行任务完毕时 ,..." 返回值 " 会被返回给调用者 ; 如果 函数 中没有明确 使用 return 关键字 返回 " 返回值 " , 那么函数会默认返回undefined 值 ; 2、函数返回值语法 在 JavaScript...中 , 函数 返回值是 通过 return 语句实现 , 在函数体 中 使用 return 语句 指定函数返回的值 , 使用 return 语句 会立即终止函数的执行 , return 返回值 语法如下..., 不需要在 函数 声明中注明 返回值类型 ; 3、函数默认返回值 在下面的代码中 , 定义了 add 函数 , 并且该函数没有 显示使用 return 关键字 返回返回值 ; 此时 执行 add 函数...> 执行结果 : 打印出来的 函数返回值 是 undefined 未定义值 ; 4、函数默认返回值 在下面的代码中 , add 函数 中 使用 return 关键字 返回返回

13410

mysql 联合查询_MySQL联合查询

MySQL联合查询 联合查询:union,将多次查询(多条select语句)的结果,在字段数相同的情况下,在记录的层次上进行拼接。...执行如下 SQL 语句,进行测试: — 联合查询,默认去重 select * from class union distinct select * from class; — 联合查询,保留所有记录 select...特别地,联合查询只要求字段数相同,而跟类型无关。...意义 联合查询的意义有两种,分别为: 查询同一张表,按时需要不同,例如查询学生信息,要求男生按年龄升序排序,女生按年龄降序排序; 多表查询,多张表的结构是完全一样的,保持的数据结构也是一样的。...根据我们刚刚学到的联合查询,貌似很容易啊!

18.7K30

MySQL--查询和常用函数(知识点)

studentResult) from result where subjectNo=1; #统计各科目的总分 分组 group by, 如果要和其他字段一起显示需要进行分组,表示对不同的数据进行分组的一个统计操作...9并且不同的场次考试总分小于500分的记录 条件 having: 为什么最后的总分小于500分的记录条件不能写在where中. where 只能对没有分组的数据进行筛选(原数据),having能对分组的数据进行筛选...6,数据库中下标从1开始,找不到返回0 1.4 日期函数 curdate() 返回当前日期 curtime() 返回当前时间 now() 返回当前日期时间 案例: select curdate()...select curtime() select now() week(日期) 返回指定日期是一年中的第几周 year(日期) 返回指定日期中的年份 MONTH(日期) 返回指定日期中的月份...day(日期) 返回指定日期中的号数 HOUR(日期) 返回指定日期中的小时数 MINUTE(日期) 返回指定日期中的分钟 second(日期时间) 返回指定日期时间中的秒数 案例

23020

MySQL【二】---数据库查询详细教程{查询、排序、聚合函数、分组}

条件查询 当数据量比较大的时候,千万别用 select * from student;会占用太多内存;因此采用条件查询; 2.1比较运算符 语法:select .... from 表名 where .....";  查询姓名中有 小的所有名字 select name from student where name like "%小%"; 结果和上述相同; 查询有两个字的名字:两个下划线 select name...*伦$";  2.4 范围查询(不连续查询) 查找年龄为12、18、34的名字 select name from student where age=12 or age=18 or age=34;...id desc;  前面相同情况下再看后续; 按照年龄从小到大,身高从高到矮; select * from student order by age asc, height desc;  4.聚合函数...(name) from student group by gender having count(*)>2; where 和 having的区别: where使用分组前的筛选 having 用于分组的筛选

2K20
领券