MySQL 按年月日统计,创建视图

2024-05-29 03:04

本文主要是介绍MySQL 按年月日统计,创建视图,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

按日统计,前十天

SELECTdays.day dateField,COALESCE(COUNT(archive_no), 0) AS total_quantityFROM(SELECTDATE_FORMAT(DATE_SUB(now(), INTERVAL a.a DAY), '%Y-%m-%d') AS dayFROM(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9  ) AS a) AS daysLEFT JOIN zw_archive ON days.day = DATE_FORMAT(zw_archive.create_time, '%Y-%m-%d') and archive_status = '2'GROUP BY days.dayORDER BY days.day;

按月统计

SELECTmonths.month dateField,COALESCE(COUNT(archive_no), 0) AS total_quantityFROM(SELECTDATE_FORMAT(DATE_SUB(now(), INTERVAL a.a MONTH), '%Y-%m') AS monthFROM(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9 UNION ALL SELECT 10 UNION ALL SELECT 11 UNION ALL SELECT 12 UNION ALL SELECT 13 UNION ALL SELECT 14 UNION ALL SELECT 15 UNION ALL SELECT 16 UNION ALL SELECT 17 UNION ALL SELECT 18 UNION ALL SELECT 19) AS a) AS monthsLEFT JOIN zw_archive ON months.month = DATE_FORMAT(create_time, '%Y-%m') and archive_status = '2'GROUP BY months.monthORDER BY months.month

按年统计

SELECTdays.day dateField,COALESCE(COUNT(archive_no), 0) AS total_quantityFROM(SELECTDATE_FORMAT(DATE_SUB(now(), INTERVAL a.a YEAR), '%Y') AS dayFROM(SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9  ) AS a) AS daysLEFT JOIN zw_archive ON days.day = DATE_FORMAT(zw_archive.create_time, '%Y') and archive_status = '2'GROUP BY days.dayORDER BY days.day;

创建视图

Create view selectBusiness as SELECTt1.*FROM(SELECTt1.*,t2.customer_nameFROM(SELECTorder_no business_id,STATUS order_status,'' jd_status,'' return_status,( SELECT count( 1 ) FROM pzda_box_code WHERE  scan_status != '0' ) scan_status,customer_code,advance_quantity,operation_time,'待交接' AS operation,CASE order_typeWHEN '1' THEN '上门取档'WHEN '2' THEN '档案自送'ELSE '未知状态'END AS order_type,update_time,create_time,contacts_user,contacts_phone,addressFROMpzda_orderWHEREdel_flag = '1'-- AND order_type = '1'-- AND ( status = '4' OR status = '5' )AND DATE_FORMAT( operation_time, '%y%m%d' ) <= DATE_FORMAT( now( ), '%y%m%d' )) t1LEFT JOIN pzda_customer t2 ON t2.customer_code = t1.customer_codeUNIONSELECTt1.business_id,'' order_status,'' jd_status,t1.STATUS return_status,( SELECT count( 1 ) FROM pzda_box_code WHERE scan_status != '0' ) scan_status,t2.customer_code,t2.outbound_quantity advance_quantity,t1.operation_time,'归还取档' AS operation,'归还取档' order_type,t1.update_time,t1.create_time,t1.contacts contacts_user,t1.contacts_phone,t1.address,t3.customer_nameFROM(SELECTmax( id ),outbound_id business_id,STATUS,operation_time,update_time,create_time,contacts,contacts_phone,addressFROMpzda_transfer_outbound_return-- WHERE  STATUS = '1'GROUP BYoutbound_id,STATUS,operation_time,update_time,create_time,contacts,contacts_phone,address) t1LEFT JOIN pzda_transfer_outbound t2 ON t2.outbound_id = t1.business_idLEFT JOIN pzda_customer t3 ON t3.customer_code = t2.customer_codeUNIONSELECTt1.*,t2.customer_address address,t2.customer_nameFROM(SELECToutbound_id business_id,'' order_status,STATUS jd_status,'' return_status,( SELECT count( 1 ) FROM pzda_box_code WHERE scan_status != '0' ) scan_status,customer_code,outbound_quantity advance_quantity,CONCAT_WS( ' ', arrival_date, arrival_time ) operation_time,'借调送档' AS operation,'借调送档' order_type,update_time,create_time,contacts contacts_user,contacts_phoneFROMpzda_transfer_outboundWHEREdel_flag = '1'-- AND return_status = '1'AND return_type is null-- AND STATUS = '3'-- AND transfer_type = '2') t1LEFT JOIN pzda_customer t2 ON t2.customer_code = t1.customer_code) t1 order by order_status,jd_status,return_status asc, business_id desc

这篇关于MySQL 按年月日统计,创建视图的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1012460

相关文章

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法

《mysql出现ERROR2003(HY000):Can‘tconnecttoMySQLserveron‘localhost‘(10061)的解决方法》本文主要介绍了mysql出现... 目录前言:第一步:第二步:第三步:总结:前言:当你想通过命令窗口想打开mysql时候发现提http://www.cpp

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

MySQL错误代码2058和2059的解决办法

《MySQL错误代码2058和2059的解决办法》:本文主要介绍MySQL错误代码2058和2059的解决办法,2058和2059的错误码核心都是你用的客户端工具和mysql版本的密码插件不匹配,... 目录1. 前置理解2.报错现象3.解决办法(敲重点!!!)1. php前置理解2058和2059的错误

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

MySQL多列IN查询的实现

《MySQL多列IN查询的实现》多列IN查询是一种强大的筛选工具,它允许通过多字段组合快速过滤数据,本文主要介绍了MySQL多列IN查询的实现,具有一定的参考价值,感兴趣的可以了解一下... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析与优化1.