问题:我想看每家店在某一段期间内的营业额占比,怎么求?
思路:第一步求出每家店的营业额。第二步求出总营业额。第三步用每家店的营业额除以总营业额得出

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:简单求营业额占比相关推荐

  1. 求营业额占比 【问题描述】 从键盘输入学校附近某烧烤店某年每月的营业额,然后计算每月的营业额在年营业额中所占的百分比(四舍五入为整数,且不会超过全年的70%),并以样例输出所示的水平直方图形式

    求营业额占比 [问题描述] 从键盘输入学校附近某烧烤店某年每月的营业额,然后计算每月的营业额在年营业额中所占的百分比(四舍五入为整数,且不会超过全年的70%),并以样例输出所示的水平直方图形式打印出来 ...

  2. 简易mysql优化_优化 MySQL:简单三个技巧

    原标题:优化 MySQL:简单三个技巧 技巧#1:为临时表分配足够的内存 在某些情况下,服务器在处理语句时会创建内部临时表.临时表用于内部操作如GROUP BY和distinct,还有一些ORDER ...

  3. c#erp项目源码 mysql_Jsp+Ssm+Mysql实现图书馆预约占座管理系统项目源码(可带论文文档)...

    JSP+SSM+MYSQL实现图书馆预约占座管理系统项目源码(可带论文文档). 一款ssm图书馆预约占座管理系统,此系统有论文文档,需单独购买,此商品只为项目源码. 提前预定的好处:一开始我们这边有大 ...

  4. php 队列取并集,PHP实现对数组简单求交集,差集,并集功能示例

    php 的 PHP实现对数组简单求交集,差集,并集功能示例 本文实例讲述了PHP实现对数组简单求交集,差集,并集功能.分享给大家供大家参考,具体如下: $arr1 = array( '0' => ...

  5. MySQL简单查询性能分析

    MySQL简单查询性能分析  建立如此结构的数据表,并插入110万条随机记录,进行查询性能测试.   插入110万条随机记录后,数据表的大小为102MB. 现在使用phpMyAdmin自带的SQL查询 ...

  6. python alter table_python(pymysql)之mysql简单操作

    一.mysql简单介绍 说到数据库,我们大多想到的是关系型数据库,比如mysql.oracle.sqlserver等等,这些数据库软件在windows上安装都非常的方便,在Linux上如果要安装数据库 ...

  7. Java SE java基础 求营业额

    Java SE java基础 求营业额 要求如下: 假如小明今年第1季度的三个月中的营业额分别是{5,10,15},第二季度他计划要把第1季度中每个月的营业额都提升为2倍, 请你帮小明同学计算出他第二 ...

  8. php留言本在线制作,Flash+php+mysql简单留言本制作

    推荐:Flash底片特效的制作在AS3中显示对象都有一个transform属性,设置这个属性可以改变显示对象的大小,旋转,颜色等特性.transform属性还有它自已的属性, 其中的colorTran ...

  9. jsp+ssm+mysql实现图书馆预约占座管理系统项目

    jsp+ssm+mysql实现图书馆预约占座管理系统项目 软件工具 Eclipse Mars (IDEA也可) JDK1.7 TOMCAT7 MySQL 下载链接: https://gitee.com ...

最新文章

  1. 5- RAC 集合 RACTuple RACSequence
  2. SAP-注入“AI基因” 打造全球第一款“智能ERP
  3. 【AOP 面向切面编程】Android Studio 使用 AspectJ 监控方法运行原理分析
  4. 安装Nginx1.14.2过程及配置
  5. oracle回收ddl权限,oracle禁止指定用户DDL操作触发器
  6. android中白色怎么表示,通知栏图标在android 5中变成白色
  7. 一段比较好的加1操作。能够防止简单的++造成的溢出。
  8. 第一批 90 后还有半个月就 30 岁了!那些 30 岁前就成博导的人都怎样了...
  9. 城市中计算机控制系统的应用,计算机联锁控制系统在北京城铁中的应用
  10. el table怎么获取最后一行_element中el-table单行暂无数据和整体暂无数据的默认修改...
  11. azure上传excel_使用MS Excel访问Azure中的关系SQL数据库
  12. 【原创】在Windows 环境下利用SVN和Apache以及Ankh配置源代码管理服务
  13. LINUX自带库与系统重名怎么办
  14. html商城网站模板
  15. 架构设计——缓存层设计思维导图总结
  16. 关于iOS7越狱的整理
  17. 面对失败计算机科学家,面对巨大挫折,仍毫不畏惧、坚韧不拔的名人事例
  18. kali利用MSF对ms17_010漏洞入侵win7
  19. 工业相机及镜头的相关概念与相机及镜头的选型
  20. Open RAN:3W1H法带你了解5G!

热门文章

  1. java代码规范总结
  2. 《长安十二时辰》愿你看尽世间百态,心中仍有热血
  3. Strategy Analytics:假设禁令持续 华为全球手机出货量将同比下降24%
  4. 索尼大法好,未出世的PS4 Slim也要支持PS VR
  5. 现代控制理论-章节组织结构和仿真应用案例详细分析
  6. 孙禄堂先生对武学的五大贡献之一创立拳与道合的武学思想体系
  7. java分布式通信系统(J2EE分布式服务器架构)
  8. 五十一道19年精选面试题+十一道常问算法=提高面试成功率
  9. 浅谈云效中的开发任务拆分
  10. sklearn学习05——K-means