mysql count group by_MySQL中使用count与group by 的统计问题
在日常开发过程中难免遇到分组去重的业务场景。
比如说在门店几分流水表中统计一下各个门店的流水记录数据,包括流水记录总数和流水记录明细。那么问题来了!
首先看表结构CREATE TABLE `shop_point` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`shop_id` int(11) NOT NULL DEFAULT '0',
`point` int(11) DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
插入几条模拟数据
如果我们想查询1号门店的数据列表,那么很自然的会写出下面的sql语句SELECT * FROM `shop_point` WHERE shop_id = 1
那这个时候记录总数该如何算呢,因为会牵扯到分页逻辑。
所以,这就是今天想说的问题。
首先,简单粗暴的方法就是直接查询说所有的记录,然后用程序进行数组大小计算。不过在数据量较小的情况下还是可以临时用一下的。因为数组非常大的情况下,第一查询速度会特别慢,第二就算查出来以后代码进行计算有可能也会内存溢出。
不妨试一试下面的sql语句SELECT count(*) FROM (SELECT shop_id FROM shop_point GROUP BY shop_id) t
这样会直接返回记录的数值。
注意最后面的那个t不可以省略,需要定义一个别名,不一定叫t也可以是其他字符。
从上面的语句可以看出,使用group by后统计到的是分组后的结果集,然后再在外面套一层count就得到了最终想要的记录总数。
不过在和朋友讨论后发现还有一种写法也可以实现上面的需求,直接贴一下语句SELECT COUNT(DISTINCT shop_id) FROM shop_point
此写法简单明了,而且效率上还是比上一种高一点的。通过执行计划就可以看出。
mysql count group by_MySQL中使用count与group by 的统计问题相关推荐
- mysql多条件count_Mysql中使用count加条件统计
Mysql中使用count加条件统计 0 753 坚持奋斗 2019/6/28 13:19:56 江苏 南京 新建一个Mysql数据表a,包含id和num两个字段 [pre] mysql> ...
- mysql的order by_mysql中的order by
一.order by的原理 1.利用索引的有序性获取有序数据 当查询语句的 order BY 条件和查询的执行计划中所利用的 Index 的索引键(或前面几个索引键)完全一致,且索引访问方式为 ran ...
- c语言count函数的用法,java count函数用法
java count函数用法 [2021-02-11 06:55:28] 简介: 在excel中count函数的功能是:计算数字的个数,对给定数据集合或者单元格区域中数据的个数进行计数.COUNT函 ...
- mysql count 返回0_如何在MySQL中使用COUNT時返回0而不是null
我正在使用此查詢返回存儲在$ sTable中的歌曲列表以及存儲在$ sTable2中的總項目的COUNT.如何在MySQL中使用COUNT時返回0而不是null /* * SQL queries * ...
- Mysql中的count()与sum()区别
Mysql中的count()与sum()区别 首先创建个表说明问题 CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` ...
- mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧
本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...
- count 有条件 mysql_【笔记】Mysql中使用count加条件统计
前言mysql 最近发如今处理Mysql问题时,count()函数频繁上镜,经常出如今分组统计的情景下,可是有时候并非使用group by分好组就能够直接统计了,好比说一个常见的需求,统计每一个班级男 ...
- sqlserver建表语句_重新认识MySQL中的COUNT语句
在数据库的增删改查操作中,使用最频繁的就是查询操作. 而在所有查询操作中,统计数量操作更是经常被用到. 关于数据库中行数统计,无论是MySQL还是Oracle亦或者是SqlServer,都有一个函数可 ...
- Mysql中使用count加条件统计
文章目录 前言 测试环境 准备工作 条件统计 总结 前言 最近发现在处理Mysql问题时,count()函数频繁上镜,常常出现在分组统计的情景下,但是有时候并不是使用group by分好组就可以直接统 ...
- mysql的count函数类型是什么意思_MySQL中的COUNT函数,你理解多少
前言:COUNT函数相比大家都不陌生,接触过数据库的兄弟们想必都用过,但是,就是这个常用的COUNT函数,却暗含许多玄机. 1.COUNT简介 看看官网对COUNT的简介 大致意思是:COUNT(ex ...
最新文章
- R语言scan函数读取文件为向量或者列表格式实战
- Spring Data JPA 从入门到精通~自定义实现Repository
- Spring,SpringMvc初始化监听配置
- jquery插件dataTables(dataTables在显示表格的时候,果然是个好东西,支持排序/搜索/分页/...)
- LPV(Light Propagation Volumes)
- 取二维数组最大值_学习Java,你必需要知道这些——Java数组
- epoll编程实例客户端_网络编程:epoll
- Delphi2007卸载
- java p12证书_java引用微信支付的p12证书文件
- Mac电脑使用Charles抓取Android手机app的包
- SQL语句(增删改查)
- 浮点类型的比较,精度控制(float.h的利用 ,DBL_EPSILON)
- intersect的用法
- 华为云部署K8s之K8s安装4
- 千锋逆战班学习第二十五天
- 关于adb shell screencap 1.png
- VisualStudio App.Config自动配置
- 如何在chrome设置主页
- PHP数组函数-----array_values
- 【牛客网】清华大学 查找学生信息 解题报告
热门文章
- 阿里巴巴CTO程立:CTO就是要给CEO扫清障碍和风险
- 阿里13篇论文入选数据库顶会!PolarDB技术被认为引领数据库发展方向
- 特稿:OceanBase 连破纪录的背后,是技术人的砥砺前行 | 凌云时刻
- 新兴IT企业特斯拉(四)——Model 3
- 【优化预测】基于matlab粒子群算法优化SVM预测【含Matlab源码 1424期】
- 【数学建模】基于matlab GUI排队系统仿真【含Matlab源码 1253期】
- 【幅度调制】基于matlab GUI语音幅度调制【含Matlab源码 292期】
- 循环神经网络 递归神经网络_递归神经网络-第3部分
- Numpy详细函数属性
- tortoisesvn统计_TortoiseSVN使用教程——史上最全最易懂教程