精华内容
下载资源
问答
  • mysql查询近12个月数据
    千次阅读
    2022-06-30 09:35:21

    一、查询近六个月

    SELECT date_format( @lastDay := last_day( date_add( @lastDay, INTERVAL 1 MONTH ) ), '%Y-%m' ) month 
    FROM( SELECT @lastDay := date_add( curdate( ), INTERVAL - 6 MONTH ) FROM PM_FUNDS_EXIST LIMIT 6 ) a
    
    

    二、绑定业务数据

    SELECT DATE_TABLE.LASTDAYS AS year,IFNULL(TEMP.COUNT, 0 ) AS count,2 category FROM
    (SELECT DATE_FORMAT(@LASTDAY := LAST_DAY( DATE_ADD(@LASTDAY,INTERVAL 1 MONTH ) ) ,'%Y-%m'  ) LASTDAYS FROM (SELECT @LASTDAY := 
    DATE_ADD(CURDATE(),INTERVAL -6 MONTH) FROM PM_FUNDS_EXIST LIMIT 6) A ) DATE_TABLE
    LEFT JOIN( SELECT DATE_FORMAT(P.CREATE_TIME,'%Y-%m') AS year, SUM(EQUIPMENT_FEE+MATERIAL_FEE)count FROM PM_FUNDS_EXIST P
    WHERE CATEGORY=2 GROUP BY DATE_FORMAT(P.CREATE_TIME,'%Y-%m')
      )TEMP ON TEMP.YEAR = DATE_TABLE.LASTDAYS
            
    
    更多相关内容
  • mysql 查询近个月数据

    千次阅读 2021-05-06 10:15:12
    转载:https://www.cnblogs.com/nongzihong/p/11252553.html 最近在做数据可视化,有个查询近个月的需求,故找到了这么一篇好的博文,转载用于自己参考学习!!! --一周 select * from t_user where time>DATE_...

    转载:https://www.cnblogs.com/nongzihong/p/11252553.html
    最近在做数据可视化,有个查询近三个月的需求,故找到了这么一篇好的博文,转载用于自己参考学习!!!

    --一周
    select * from t_user where time>DATE_SUB(CURDATE(), INTERVAL 1 WEEK) 
    --三月       
    select * from t_user where time>DATE_SUB(CURDATE(), INTERVAL 3 MONTH) 
    --一年      
    select * from t_user where time>DATE_SUB(CURDATE(), INTERVAL 1 YEAR)        
    

    三人行,必有我师焉!

    展开全文
  • 之前写过一遍文章,记录了Mysql统计30天的数据,无数据填0的方式。本篇文章介绍如何统计6个月数据

    之前写过一遍文章,记录了Mysql统计近30天的数据,无数据填0的方式。主要思路就是利用mysql中的函数,生成一列30天的日期格式的数据,在通过这张临时表的数据去左关联我们的业务数据,由于用的是左关联,所以30天的数据肯定是有的,和业务数据关联后,业务数据中没有该日期的数据,就会得到null的结果,我们在通过使用IFNULL函数,就实现了这个需求。原文地址: Mysql统计近30天的数据,无数据的填充0_lsqingfeng的博客-CSDN博客_mysql统计30天内的数据

    而最近在做统计分析的时候,遇到了一个统计近6个月的数据需求。当时我这一看,这不是和我之前做的统计近30天的数据的需求差不多么,就准备照搬过来,但是却发现整体思路是一致的,但是生成这个近六个月的数据,有点不知所措。后来终于还是找到了解决方案,这里和大家分享一下。

    核心思路还是要生成近6个月的月份数据。

    SELECT
    	date_format( @lastDay := last_day( date_add( @lastDay, INTERVAL 1 MONTH ) ), '%Y-%m' ) lastDays 
    FROM
    	( SELECT @lastDay := date_add( curdate( ), INTERVAL - 6 MONTH ) FROM mysql.help_topic LIMIT 6 ) a

    得到的结果如下:

    有了近6个月的数据,我们就可以进行业务数据的关联了。,整体思路和之前一样

    select date_table.lastDays as monthValue,IFNULL(temp.count, 0 ) as eventCount from
                (
                    SELECT
                        date_format(@lastDay := last_day( date_add(@lastDay,interval 1 month ) ) ,'%Y-%m'  ) lastDays
                    from
                        (SELECT @lastDay := date_add(curdate(),interval -6 month) from mysql.help_topic limit 6) a ) date_table
                    left join(
                    select DATE_FORMAT(event.event_time,'%Y-%m') as monthValue, round(count(*)/10000,2) as count from tbl_province_event event GROUP BY DATE_FORMAT(event.event_time,'%Y-%m')
                )temp on temp.monthValue = date_table.lastDays

     结果如下:

     

    展开全文
  • Mysql:获取距今最近12个月数据

    千次阅读 2022-04-14 15:19:00
    获取最近12个月数据 并将没有数据的月份置为0 SELECT IFNULL(b.value,0) AS VALUE,a.name /*将value初始化为0 并将其作为value列下的数据*/ FROM( /*过去12个月的日期格式*/ SELECT DATE_FORMAT(CURDATE(), '%Y...

    获取最近12个月的数据 并将没有数据的月份置为0

    SELECT IFNULL(b.value,0) AS VALUE,a.name   /*将value初始化为0  并将其作为value列下的数据*/
     FROM(
     /*过去12个月的日期格式*/
    	SELECT DATE_FORMAT(CURDATE(), '%Y-%m') AS `name` /*UNION 操作符用于合并两个或多个 SELECT 语句的结果集。*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 1 MONTH), '%Y-%m') AS `name`   /* 其中为单个数据集*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 2 MONTH), '%Y-%m') AS `name`   /*curdate()表示为当前日期 相当与  now()*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 3 MONTH), '%Y-%m') AS `name`   /* interval表示时间间隔 有多久*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 4 MONTH), '%Y-%m') AS `name`   /* DATE_SUB() 函数从日期减去指定的时间间隔。*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 5 MONTH), '%Y-%m') AS `name`    /* date_format 表示格式化时间格式*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 6 MONTH), '%Y-%m') AS `name`   /* as 新定义一个列表 并将 获得的数据放到 该列表中*/
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 7 MONTH), '%Y-%m') AS `name`  /* left join 左连接 ????????  不知 */
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 8 MONTH), '%Y-%m') AS `name`
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 9 MONTH), '%Y-%m') AS `name`
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 10 MONTH), '%Y-%m') AS `name`
        UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 11 MONTH), '%Y-%m') AS `name`) a 
        LEFT JOIN
        /*  将 count(*)作为 value*/     /*group by 没有它 会报错   意思 不详4*/
    (SELECT   COUNT(*) AS VALUE,DATE_FORMAT(TIME,'%Y-%m') AS formate_time FROM showdata  GROUP BY formate_time) AS b   
    ON a.name = b.formate_time    
        
    

    DATE_SUB() 函数从日期减去指定的时间间隔。
    eg:

    SELECT COUNT(DATE_FORMAT(TIME,'%Y-%m')) AS VALUE,DATE_FORMAT(TIME,'%Y-%m') AS NAME FROM showdata WHERE TIME BETWEEN DATE_SUB(NOW(),INTERVAL 12 MONTH) AND NOW() GROUP BY DATE_FORMAT(TIME, '%Y-%m');
    
    

    获取12个月的数据 若没有数据 不置为0
    只显示有数据的 月份

    展开全文
  • MySQL 统计过去12个月数据(包括本月),mysql本月1、问题需要统计过去12个月数据,如现在是2015年4月,那么我们需要统计从2014年5月到2015年4月的数据情况。而这12个月中,如果这个月没有数据的,则统计为0。原始...
  • MYSQL SQL查询近个月数据

    千次阅读 2021-07-13 14:28:00
    //今天 select * from 表名 where to_days(时间字段名) = to_days(now...//7天 SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名) //30天 SELECT * FROM 表名 where DATE_SU
  • MySQL查询近

    千次阅读 2021-11-10 17:32:16
    mysql查询前N个月 1、查询前三个月 select date_sub(curdate(), interval 3 month) 结果:2020-07-31 2、截取时间为20020XX格式 select EXTRACT(YEAR_MONTH from curdate()) 结果:202010 3、截取三个月前 ...
  • 下面的ew在实际项目中我因为框架的原因我用了o,所以按具体情况而定, 如果查询昨天的数据的话就减一,如:$sql .= " AND date(o.date_added) = curdate()-1";--------------查"当天"的数据-----------------SELECT ...
  • 查询近一段时间数据(近一周、一个月、半年、一年) //查询一周 格式:select * from 表名称 where DATE_SUB(CURDATE(), INTERVAL 6 DAY) <= date(表内时间字段); 语句:select * from garbage_collect where ...
  • mysql查询今天昨天7天、30天本月上一月数据
  • 做报表统计的时候,常常需要在MySQL端用sql统计7个月数据,或者7天的数据。 假如遇到当月没有数据,或者当天没有数据时,默认为0。
  • Mysql查询近几天的数据

    千次阅读 2022-04-11 13:43:37
    -- 查询当天的数据,时间字段为毫秒数,数字类型 SELECT * FROM 库表名称 WHERE TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME((时间...-- 查询近30天的数据,时间字段为毫秒数,数字类型 SELECT * FROM 库表名称 WHERE .
  • 做报表统计的时候,常常需要在MySQL端用sql统计近12个月数据,或者30天的数据。 假如遇到当月没有数据,或者当天没有数据时,默认为0。 SELECT CASE WHEN length(mon)= 1 THEN concat(LEFT(CURRENT_DATE, 5),'0...
  • 1、查询出的数据用于画折线图 2、查询近个月,按13周计算每周的数据量,查询近一年每个月数据量,按每个月30天计算
  • 思路:创建视图,查询过去的12个月;当然,也可以使用存储过程遍历的把12个月插入到一个临时表中。 一、以视图的形式实现 1.1创建过去十二个月的视图SQL 可直接copy执行 CREATE ALGORITHM = UNDEFINED ...
  • mysql查询近一年数据

    千次阅读 2021-02-22 11:38:41
    DATE_SUB() 函数从日期减去指定的时间间隔。 语法 DATE_SUB(date,INTERVAL expr type) 例: SELECT * FROM 表名 WHERE 时间字段>DATE_SUB...FROM 表名 WHERE 时间字段 >DATE_SUB(CURDATE(), INTERVAL 3 MONTH) 三个月
  • MYSQL查询个月前的数据

    千次阅读 2020-06-29 14:29:37
    日期格式 SELECT (DATE_ADD(now(),...-一周 select * FROM t_user where time>DATE_SUB(CURDATE(), INTERVAL 3 MONTH) --三 select * FROM t_user where time>DATE_SUB(CURDATE(), INTERVAL 1 YEAR) --一年 ~~~
  • mysql查询个月数据

    千次阅读 2020-04-15 17:52:52
    unixtime(create_time),'%Y-%m') 根据create_time查询所有的年月数据,把时间戳转换成日期格式查询,from_unixtime把时间戳转换成日期格式,YEAR()获取日期中的年份,MONTH()获取日期中的月份,根据月份分组数据查询
  • mysql 查询近一年数据,按统计

    千次阅读 2021-07-28 10:51:03
    项目中遇到 统计一年的数据,按统计,这是sql语句 SELECT MONTH, COUNT(*) AS count FROM ( SELECT DATE_FORMAT(t_task.create_time, '%Y%m') month FROM t_task WHERE t_task....
  • 1.建立12个月的视图 CREATE VIEW 12_month_view AS SELECT 01 AS month UNION SELECT 02 AS month UNION SELECT 03 AS month UNION SELECT 04 AS month UNION SELECT 05 AS month UNION SELECT 06 AS month UNION ...
  • mysql获取几年、个月几周、几天的数据 1.获取几年的数据 SELECT * FROM 表名 WHERE 时间字段>DATE_SUB(CURDATE(), INTERVAL 年数 YEAR) 2.获取个月数据 SELECT * FROM 表名 WHERE 时间字段...
  • mysql 查询一年中每月份的数据

    千次阅读 2021-01-18 20:13:37
    是用mid()函数 截取字符串mysql>selectcount(*)as'数量',mid(time,1,7)asmonthfrommy_addwheretimebetween'2015-01-0100:00:00'and'2016-01-0100:00:00'groupbymonth;+------+---------+|数量|month...
  • 查询某个时间段的数据常用的方式有 //查询2020-09-18当天 SELECT * FROM t_user WHERE created_time between '2020-09-18 00:00:00' and '2020-09-18 23:59:59' //查询2020-09-18当天 SELECT * FROM t_user ...
  • Mysql查询某一年的的12个月份数据

    千次阅读 2021-11-24 17:58:15
    查询这几个用户的的某一年的12个月份数据,好家伙旧代码是两个for循环,第一个for循环的用户id,第二个for的1到12月,由于用户前台传的数组是不固定的,有可能有N个用户,那么两个for调sql相当于连接N*12次,直接...
  • MySQL获取近12个月数据SQL

    千次阅读 2018-03-05 14:28:05
    ##获取近12个月数据 SELECT TYEAR,  TMONTH,  CONCAT(SUBSTRING(TYEAR,3),'/',TMONTH) AS T_TIME,  MARKETNAME,  SJJY_WGDL,  SJJY_WSDL FROM KSH_COMMON_SERESULTINFO WHERE DATE_FORMAT(C...
  • SELECT DATE_FORMAT(CURDATE(), '%Y-%m') AS `year_month` UNION SELECT DATE_FORMAT((CURDATE() - INTERVAL 1 MONTH), '%Y-%m') AS `year_month` ...这是5个月的,再join上数据表就可以了
  • MySQL查询近7天、1年、5年内数据,无数据部分补0
  • mysql按1-12月查询统计数据

    千次阅读 2022-01-17 14:08:53
    mysql中如何实现1-12月份数据的统计查询? 首先我的数据表大概是这样的: 查询sql如下: SELECT PUR_BILL_TO_NAME AS "公司",DEPT_NAME AS "部门", sum( CASE month(T_TIME) WHEN '1' THEN AUD_P_COUNT ELSE ...
  • 1、问题 当前项目中含有一个...和group by根据订单的创建时间,对订单进行分组,并计算某一个出发地12个月的订单数量 SQL语句 select count(or_id) as count from t_order WHERE origin='郑州工商学院' group b
  • MySQL查询某年某数据

    千次阅读 2022-04-27 10:24:48
    查询某年某,可以使用一下方法 date_format函数:date_format(date, "%Y-%m")="2020-02" year和month函数: year(date)=2020 and month(date)=82 实战: 1、创建表 select version(); 8.0.16 CREATE TABLE `...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,160,402
精华内容 864,160
热门标签
关键字:

mysql查询近12个月数据

mysql 订阅