tp5使用sum()聚合函数分组查询
数据查询出来大概是这个样子(实际应用中会很复杂,这里造一些类似的数据,用来举例说明)
简单的查询
$data = Db::name('order')->field('sum(money) as moneys')->where($where)->select();
这个只能是简单的将所有的money字段的值加在一起
如果我的from_type是三个不通的来源,我想统计每个来源下的和,同时按照商品名字分组
$data = Db::name('order')->field('id,name,sum(if(from_type = 1,money,0)) as one,sum(if(from_type = 1,money,0)) as two,sum(if(from_type = 1,money,0)) as three')->where($where)->group('name')->select();
if(from_type = 1,money,0)
可以理解为,判断from_type子弹是否等于1,如果是吧money的值加上,如果不是,就加上0,类似于三元运算符的感觉
同样,也适用于,count(),avg()这些聚合函数.
同样解决这些问题,也可以直接查询出所有的订单数据,然后foreach遍历,加上if判断,一个一个加上,也能处理.
tp5使用sum()聚合函数分组查询相关推荐
- MySQL数据库——day26 数据库安装,卸载,概念,msq的介绍,安装,连接,DDL,DML,DQL模糊查询,字段控制(别名和运算),排序,聚合函数,分组查询(where和having),分页查询
学到mysql的时候非常的快,感觉前面的没有很巩固,还是要复习前面的博客 常见的数据库 MySQL , Oracle , SQL Server , SQLite , DB2 , - SQL Serve ...
- LambdaQueryWrapper使用 group分组、sum聚合函数 进行统计,并分页排序
首先,我们要知道,其实LambdaQueryWrapper是无法使用sum聚合函数的,因为LambdaQueryWrapper的select()方法无法传入字符串,但你有张良计,我有过墙梯,我们其实可 ...
- Django学习笔记(3):使用模型类进行查询(查询函数、F对象、Q对象、聚合函数、查询集、模型类关系、关联查询、自关联、管理器)
文章目录 1.查询函数 2.F对象 3.Q对象 4.聚合函数 5.Count函数 6.查询集 查询集的特性 对查询集进行切片 判断一个查询集中是否有数据 7.模型类之间的关系 一对多关系 多对多关系 ...
- Mysql里where语句里不能使用SUM聚合函数筛选怎么办?
现有这样一个需求: 在一个电商订单管理平台中,我想查看所有已付款订单中,哪些订单是有部分退款的. 一开始思路是这样是没错的: 在订单详情表里的num数量和大于退款详情表里的num数量之和即可,也就是S ...
- oracle sum详解,oracle sum()聚合函数
原文链接:https://blog.csdn.net/cizatu5130/article/details/100291347 oracle sum()聚合函数 2016-05-13 20:08:00 ...
- 聚合函数/分组聚合查询
本博客前文链接,点击查看,便于理解代码的来龙去脉 聚合函数 MAX() MIN() COUNT() SUM() AVG() from stu.models import *def showsql(): ...
- Django ORM – 多表实例(聚合与分组查询)
聚合查询(aggregate) 聚合查询函数是对一组值执行计算,并返回单个值. 聚合查询返回值的数据类型是字典. 聚合函数 aggregate() 是 QuerySet 的一个终止子句, 生成的一个汇 ...
- Django丨聚合与分组查询
多表实例 聚合查询 聚合查询函数时对一组值执行计算,并返回单个值 Django使用聚合查询前要先从django.db.models引用Avg.Max.Min.Count.Sum(首字母大写) from ...
- python dataframe group by_Python DataFrame.groupby()聚合函数,分组级运算
pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片.切块.摘要等操作.根据一个或多个键(可以是函数.数组或DataFrame列名)拆分pandas对象.计算分 ...
最新文章
- 行情分析:下杀或不可持续,市场大概率继续震荡
- matlab pareto 升级版
- DVRRDK, EZSDK和DVSDK这三者有什么区别
- python 参数拼接token_对python的unittest架构公共参数token提取方法详解
- 模板打印:代码实现和总结
- 洛谷1090 合并果子
- Timus 1531. Zones on a plane
- Shell 字符串处理、获取文件名和后缀名
- 关于区块链的解读和简单Python实现
- 零散的JavaScript公用方法
- python基础之字符串类型
- 第八章 深度强化学习-Nature深度Q网络(Nature DQN)
- 如何学习Vim(转)
- LinuxC高级_day1
- VMWARE虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。 未能启动虚拟机。
- 腾讯云接入备案流程 新手必看教程
- PINGTELNET
- Git 之三 常用命令:仓库创建、提交、分支等
- 分享IT十八掌大数据
- oracle ebs web agent,《ORACLE EBS Web ADI深入浅出》.pdf