当前位置: 首页 > news >正文

一个网站费用住房建设建设部网站

一个网站费用,住房建设建设部网站,正规的企业网站建设,wordpress散开式有时候#xff0c;我们可能有这样的场景#xff0c;需要将销量按月统计#xff0c;并且按月逐月累加。写惯了GROUP BY,按月统计倒是小case,但是逐月累加实现起来#xff0c;要稍微麻烦一点。下面就整理几种写法#xff0c;以备不时之需。 本月第一天 -- 本月第一天 SELE…有时候我们可能有这样的场景需要将销量按月统计并且按月逐月累加。写惯了GROUP BY,按月统计倒是小case,但是逐月累加实现起来要稍微麻烦一点。下面就整理几种写法以备不时之需。 本月第一天 -- 本月第一天 SELECT DATE_ADD(CURDATE(), INTERVAL -DAY(CURDATE()) 1 DAY);-- 本月第一天 SELECT CONCAT(DATE_FORMAT(CURDATE(), %Y-%m), -01); 建表及模拟数据 -- 创建表 CREATE TABLE sales (id int(11) NOT NULL AUTO_INCREMENT,sales_date date NOT NULL,sales_amount decimal(10,2) NOT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb4;-- 插入模拟数据 INSERT INTO sales (sales_date, sales_amount) VALUES (2023-01-01, 1500.00), (2023-01-02, 1800.00), (2023-01-05, 2200.00), (2023-02-01, 1200.00), (2023-02-03, 1800.00), (2023-03-01, 2500.00), (2023-03-05, 2800.00), (2023-03-08, 3200.00), (2023-04-01, 2100.00), (2023-04-03, 1900.00), (2023-04-05, 2600.00), (2023-05-01, 3100.00), (2023-05-02, 3400.00), (2023-06-01, 3800.00), (2023-06-06, 4200.00); 该表包含三个字段id、sales_date、sales_amount。id为自增长主键sales_date为销售日期sales_amount为销售额。插入了15条模拟数据涵盖了2023年1月至6月的销售数据 一、自连接和子查询 首先在内部查询中计算出每个月份的销售总额和月份接着在外部查询中使用自连接和子查询计算每个月份的累计销售额 SELECT t1.month, t1.monthly_sales,SUM(t2.monthly_sales) AS cumulative_sales FROM (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month,SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month ) t1 JOIN (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month,SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month ) t2 ON t1.month t2.month GROUP BY t1.month; 二、子查询 SELECT month, monthly_sales,(SELECT SUM(monthly_sales) FROM (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month, SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month) t2WHERE t2.month t1.month) AS cumulative_sales FROM (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month, SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month ) t1; 此处使用了两个子查询第一个子查询用于获取每个月份的总销售额和月份第二个子查询用于计算累加值。在内部子查询中通过操作符将当前月份以及之前所有月份的销售额相加从而得到累加值 三、子查询变量 SELECT month, monthly_sales, cumulative : cumulative monthly_sales AS cumulative FROM (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month, SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month ) t1 CROSS JOIN (SELECT cumulative : 0) t2; 此处使用了两个子查询第一个子查询用于获取每个月份的总销售额和月份第二个子查询用于初始化变量cumulative。在外部查询中通过CROSS JOIN将两个子查询连接起来并且使用变量cumulative来计算累加值。 四、用户变量和子查询 在内部查询中先对销售日期进行排序然后使用用户变量cumulative来记录每个月份的累加值。在最终的查询结果中输出月份、当月销售额以及累加值 SELECT month, monthly_sales,(cumulative : cumulative monthly_sales) AS cumulative_sales FROM (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month, SUM(sales_amount) AS monthly_salesFROM salesGROUP BY monthORDER BY sales_date ASC ) t1, (SELECT cumulative : 0) t2; 此处使用了两个子查询第一个子查询用于获取每个月份的总销售额和月份并按销售日期升序排序第二个子查询用于初始化用户变量cumulative。在外部查询中通过,连接两个子查询并使用用户变量cumulative来计算每个月份的累加值。 五、表达式CTE和窗口函数 使用MySQL 8.0引入的通用表表达式CTE和窗口函数可以将累加值计算放在CTE中完成 WITH monthly_sales AS (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month, SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month ) SELECT month, monthly_sales,SUM(monthly_sales) OVER (ORDER BY month) AS cumulative_sales FROM monthly_sales; 此处使用了CTE来计算每个月份的总销售额和月份并在外部查询中使用窗口函数SUM() OVER()对月份进行累加。 SUM() OVER() 使用MySQL 8.0引入的LATERAL关键字以及OVER ORDER BY子句按月份求和再用SUM() OVER()进行累加并分别输出月份、当月销售金额和累计销售金额 ##月统计 SELECT month, monthly_sales,SUM(monthly_sales) OVER (ORDER BY month) AS cumulative_sales FROM (SELECT DATE_FORMAT(sales_date, %Y-%m) AS month,SUM(sales_amount) AS monthly_salesFROM salesGROUP BY month ) t1;##日统计 SELECT day, monthly_sales,SUM(monthly_sales) OVER (ORDER BY day) AS cumulative_sales FROM (SELECT DATE_FORMAT(sales_date, %Y-%m-%d) AS day,SUM(sales_amount) AS monthly_salesFROM salesGROUP BY day ) t1;
http://www.dnsts.com.cn/news/51544.html

相关文章:

  • 盐步网站制作婚恋网站女代我做彩票
  • 网站建设后期服务收费标准网页版梦幻西游谛听怎么获得
  • 房管局 网站做房查seo小白入门教学
  • 购买模板做网站做表格的网站
  • 网站推广到海外怎么做盱眙县建设局网站
  • 电子商务网站建设与维护实训做网站一台电脑可以吗
  • 唐山地方志网站建设昆山开发区人才网
  • 易无忧建站出售自己的网站
  • 软件分享网站中国建筑装饰网王凤波
  • 一级域名的免费网站帝国cms网站搬家教程
  • 韩国网站加速器最专业网站建设公司哪家好
  • 做效果图有哪些网站建设工程资料网站
  • 网站色彩装修设计公司logo
  • 架设一个网站需要多少钱网站建设提问
  • 做网站必须购买空间吗?江西网上注册公司流程
  • 我自己做的网站打开很慢wordpress内页显示副标题
  • 全屏网站怎么做的成都装修公司前十名
  • 毕业设计做视频网站设计山东seo推广多少钱
  • 打名字就说你是什么做的网站企业的网站品牌推广
  • html做分页的网站装修设计师培训班
  • 合肥网站建设pqiw计算机专业都学什么
  • 网站建设深圳市wordpress菜单小工具
  • 小视频网站开发流程图网页源代码下载
  • 南京做网站公司 雷仁wordpress添加侧栏
  • 有口碑的宁波网站建设百度合伙人官方网站
  • ppt模板网站开发国外十大黄冈推广
  • 网站建设武清电商网站基本功能
  • 有没有做相册的网站网站更新维护 怎么做
  • 网站建设移动时代外贸 网站 模板
  • 上海做网站的公司排名开展建设文明网站活动方案