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

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

SQL中JOIN操作的条件使用总结与实践

《SQL中JOIN操作的条件使用总结与实践》在SQL查询中,JOIN操作是多表关联的核心工具,本文将从原理,场景和最佳实践三个方面总结JOIN条件的使用规则,希望可以帮助开发者精准控制查询逻辑... 目录一、ON与WHERE的本质区别二、场景化条件使用规则三、最佳实践建议1.优先使用ON条件2.WHERE用

MySQL存储过程之循环遍历查询的结果集详解

《MySQL存储过程之循环遍历查询的结果集详解》:本文主要介绍MySQL存储过程之循环遍历查询的结果集,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言1. 表结构2. 存储过程3. 关于存储过程的SQL补充总结前言近来碰到这样一个问题:在生产上导入的数据发现

MySQL 衍生表(Derived Tables)的使用

《MySQL衍生表(DerivedTables)的使用》本文主要介绍了MySQL衍生表(DerivedTables)的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学... 目录一、衍生表简介1.1 衍生表基本用法1.2 自定义列名1.3 衍生表的局限在SQL的查询语句select

MySQL 横向衍生表(Lateral Derived Tables)的实现

《MySQL横向衍生表(LateralDerivedTables)的实现》横向衍生表适用于在需要通过子查询获取中间结果集的场景,相对于普通衍生表,横向衍生表可以引用在其之前出现过的表名,本文就来... 目录一、横向衍生表用法示例1.1 用法示例1.2 使用建议前面我们介绍过mysql中的衍生表(From子句

六个案例搞懂mysql间隙锁

《六个案例搞懂mysql间隙锁》MySQL中的间隙是指索引中两个索引键之间的空间,间隙锁用于防止范围查询期间的幻读,本文主要介绍了六个案例搞懂mysql间隙锁,具有一定的参考价值,感兴趣的可以了解一下... 目录概念解释间隙锁详解间隙锁触发条件间隙锁加锁规则案例演示案例一:唯一索引等值锁定存在的数据案例二:

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

MYSQL查询结果实现发送给客户端

《MYSQL查询结果实现发送给客户端》:本文主要介绍MYSQL查询结果实现发送给客户端方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mysql取数据和发数据的流程(边读边发)Sending to clientSending DataLRU(Least Rec