mysql:简单求营业额占比
问题:我想看每家店在某一段期间内的营业额占比,怎么求?
思路:第一步求出每家店的营业额。第二步求出总营业额。第三步用每家店的营业额除以总营业额得出
select t1.shop_id, t1.shop_name, t1.shop_money, round(t1.shop_money/t2.total_money*100, 2) as shop_money_per
from(
select sd.shop_id, s.shop_name, sum(sd.money) as shop_money
from report_shop_daily sd
left join shop s on s.shop_id = sd.shop_id
where sd.business_date between '2022-01-01' and '2022-01-03'
group by sd.shop_id
)t1 left join(
select sum(sd.money) as total_money
from report_shop_daily sd
left join shop s on s.shop_id = sd.shop_id
where sd.business_date between '2022-01-01' and '2022-01-03'
)t2 on 1;
改进:在第一步中我已经求出了每家店的营业额,还需要再求总营业额吗?
方法:用mysql的@参数简化
select p.shop_id, p.shop_name, p.shop_money, round(p.shop_money/@total_money*100, 2) as shop_money_per
from(
select t.shop_id, t.shop_name, t.shop_money, @total_money := @total_money + t.shop_money
from(
select sd.shop_id, s.shop_name, sum(sd.money) as shop_money
from report_shop_daily sd
left join shop s on s.shop_id = sd.shop_id
where sd.business_date between '2022-01-01' and '2022-01-03'
group by sd.shop_id
)t, (select @total_money := 0)v
)p;
说明:
1.需要先group by,再使用@参数累加,否则数据会出错
2.百分比一般不拼分号,拼了分号后字段类型被转换为字符串,无法根据大小排序
mysql:简单求营业额占比相关推荐
- 求营业额占比 【问题描述】 从键盘输入学校附近某烧烤店某年每月的营业额,然后计算每月的营业额在年营业额中所占的百分比(四舍五入为整数,且不会超过全年的70%),并以样例输出所示的水平直方图形式
求营业额占比 [问题描述] 从键盘输入学校附近某烧烤店某年每月的营业额,然后计算每月的营业额在年营业额中所占的百分比(四舍五入为整数,且不会超过全年的70%),并以样例输出所示的水平直方图形式打印出来 ...
- 简易mysql优化_优化 MySQL:简单三个技巧
原标题:优化 MySQL:简单三个技巧 技巧#1:为临时表分配足够的内存 在某些情况下,服务器在处理语句时会创建内部临时表.临时表用于内部操作如GROUP BY和distinct,还有一些ORDER ...
- c#erp项目源码 mysql_Jsp+Ssm+Mysql实现图书馆预约占座管理系统项目源码(可带论文文档)...
JSP+SSM+MYSQL实现图书馆预约占座管理系统项目源码(可带论文文档). 一款ssm图书馆预约占座管理系统,此系统有论文文档,需单独购买,此商品只为项目源码. 提前预定的好处:一开始我们这边有大 ...
- php 队列取并集,PHP实现对数组简单求交集,差集,并集功能示例
php 的 PHP实现对数组简单求交集,差集,并集功能示例 本文实例讲述了PHP实现对数组简单求交集,差集,并集功能.分享给大家供大家参考,具体如下: $arr1 = array( '0' => ...
- MySQL简单查询性能分析
MySQL简单查询性能分析 建立如此结构的数据表,并插入110万条随机记录,进行查询性能测试. 插入110万条随机记录后,数据表的大小为102MB. 现在使用phpMyAdmin自带的SQL查询 ...
- python alter table_python(pymysql)之mysql简单操作
一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...
- Java SE java基础 求营业额
Java SE java基础 求营业额 要求如下: 假如小明今年第1季度的三个月中的营业额分别是{5,10,15},第二季度他计划要把第1季度中每个月的营业额都提升为2倍, 请你帮小明同学计算出他第二 ...
- php留言本在线制作,Flash+php+mysql简单留言本制作
推荐:Flash底片特效的制作在AS3中显示对象都有一个transform属性,设置这个属性可以改变显示对象的大小,旋转,颜色等特性.transform属性还有它自已的属性, 其中的colorTran ...
- jsp+ssm+mysql实现图书馆预约占座管理系统项目
jsp+ssm+mysql实现图书馆预约占座管理系统项目 软件工具 Eclipse Mars (IDEA也可) JDK1.7 TOMCAT7 MySQL 下载链接: https://gitee.com ...
最新文章
- 5- RAC 集合 RACTuple RACSequence
- SAP-注入“AI基因” 打造全球第一款“智能ERP
- 【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行原理分析
- 安装Nginx1.14.2过程及配置
- oracle回收ddl权限,oracle禁止指定用户DDL操作触发器
- android中白色怎么表示,通知栏图标在android 5中变成白色
- 一段比较好的加1操作。能够防止简单的++造成的溢出。
- 第一批 90 后还有半个月就 30 岁了!那些 30 岁前就成博导的人都怎样了...
- 城市中计算机控制系统的应用,计算机联锁控制系统在北京城铁中的应用
- el table怎么获取最后一行_element中el-table单行暂无数据和整体暂无数据的默认修改...
- azure上传excel_使用MS Excel访问Azure中的关系SQL数据库
- 【原创】在Windows 环境下利用SVN和Apache以及Ankh配置源代码管理服务
- LINUX自带库与系统重名怎么办
- html商城网站模板
- 架构设计——缓存层设计思维导图总结
- 关于iOS7越狱的整理
- 面对失败计算机科学家,面对巨大挫折,仍毫不畏惧、坚韧不拔的名人事例
- kali利用MSF对ms17_010漏洞入侵win7
- 工业相机及镜头的相关概念与相机及镜头的选型
- Open RAN:3W1H法带你了解5G!