1. 程式人生 > >mysql獲取近7天每天資料,無資料補0

mysql獲取近7天每天資料,無資料補0

      接到老大排的活,需要作出一個統計最近7天每天的資料做統計用,最終呈現出這樣的效果;圖1

      因為公司庫裡面所有關於時間都是直接儲存時間戳,給我帶來了一定的處理上的難度,幸好網上找到一個很好的想法;http://blog.csdn.net/ouyang111222/article/details/77638826

      處理方式是:構建一個最近7天的結果集,沒有的利用ifnull函式補0操作;

      最終的sql如下:

select a.click_date,ifnull(b.count,0) as count
from (
    SELECT curdate() as click_date
    union all
    SELECT date_sub(curdate(), interval 1 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 2 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 3 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 4 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 5 day) as click_date
    union all
    SELECT date_sub(curdate(), interval 6 day) as click_date
) a left join (
  select date(FROM_UNIXTIME(getTime/1000,'%Y%m%d')) as datetime, count(*) as count
  from userwechatcard
  group by date(FROM_UNIXTIME(getTime/1000,'%Y%m%d'))
) b on a.click_date = b.datetime;



      其中有個地方需要注意一下:由於我的時間是時間戳型別,而curdate函式返回的是yyyy-MM-dd形式,因此需要在left join的時候將我的時間戳欄位getTime進行轉換,轉換成與curDate函式返回一樣的形式,否則就查不到資料;

                                  圖2

最終結果:

                                圖3

相關推薦

mysql獲取7每天資料資料0

      接到老大排的活,需要作出一個統計最近7天每天的資料做統計用,最終呈現出這樣的效果;圖1       因為公司庫裡面所有關於時間都是直接儲存時間戳,給我帶來了一定的處理上的難度,幸好網上

oracle-按月、日、時分組查詢統計資料資料

------月1234567891011select nvl(t1.tvalue, 0) "data1", t2.datevalue "name"from (select sum(t.TSAI03) tvalue, TO_CHAR(t.TSAI01, 'yyyy-mm') timevaluefrom TSA0

sql語句實現查詢今天昨天730當月上個月資料

幾個小時內的資料 DATE_SUB(NOW(), INTERVAL 5 HOUR) 今天 select * from 表名 where to_days(時間欄位名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS(

mysql 中sql 語句查詢今天、昨天、730、一個月內、上一月 資料

select * from 表名 where to_days(時間欄位名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 時間欄位名) <= 1 7天 SELECT * FROM 表名 where DA

查詢71個月3個月每天的資料量查詢一年每個月的資料量

統計近7天每天,近一個月每天,近三個月每天,近一年每個月的新增數量,用於畫折線圖,由於是根據create_time欄位統計的,所以如果有一天沒有新增,就會缺少這一天的日期,要對日期進行補充,當天沒有新增的new_count置為0,所以要建立一個日期表calendar 1、查

mysql查詢今天、昨天、730、本月、上一月的SQL語句

時間 中比 code mat 信息 where 從大到小 案例 rdate mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語句 這篇文章主要介紹了mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語句,一般在一些統計報表中比較常用這個時間段,

mysql查詢今天,昨天,7,30,本月,上一月數據的SQL

sub color .com http rac from per 嘗試 bold 原文:http://www.open-open.com/code/view/1423207309170 select * from ad_proTrack_t where to_day

sql 語句查詢今天、昨天、730、一個月內、上一月 資料

SQL語句如下: 查詢當天的所有資料 SELECT * FROM 表名 WHERE DATEDIFF(欄位,NOW()) = 0 SELECT * FROM 表名 WHERE to_days(時間欄位名) = to_days(now()); 查詢昨天的所有

SQL語句查詢今天、昨天、730、一個月內、上一月 資料

SQL語句如下: 查詢當天的所有資料   SELECT * FROM 表名 WHERE DATEDIFF(欄位,NOW()) = 0 SELECT * FROM 表名 WHERE to_days(時間欄位名) = to_days(now());

js 獲取的日期程式碼

/*據資料判斷渲染起始時間值(前臺以1.3.7標識查詢範圍)*/ function getStartEndTime(numberDate){        if(typeof numberDate == "string")number

MYSQL 】 統計7每天的數量(按年、季、月、周、日、時統計)

本文章 mysql 統計使用到的函式說明 DATE_FORMAT(日期時間,格式) FROM_UNIXTIME(時間戳,格式) 格式 說明 %a 縮寫星期名

MySQL獲取12個月資料SQL

##獲取近12個月資料 SELECT TYEAR,        TMONTH,        CONCAT(SUBSTRING(TYEAR,3),'/',TMONTH) AS T_TIME,     

java 根據當天時間 獲取7之間的時間 和後多少的查詢時間,獲娶幾周 週一的日期

java 根據當天時間 獲取前7天之間的時間  和後多少天的查詢時間 package com.kugou.schedu.service; import java.text.ParseException; import java.text.SimpleDateFormat

mysql查詢最近4資料沒有資料自動0

SELECT  click_date,  count(plan_order_id) numFROM  (      SELECT        date_sub(curdate(), INTERVAL 1 DAY) AS click_date      UNION ALL 

獲取30的數據的時間方式

方式 class cnblogs pre nbsp bsp code blog logs 1 $date = date(‘Y-m-d‘, strtotime(‘-30 days‘)); 獲取近30天的數據的時間方式

習慣7每天開口真實 溝通

你要出去開始每天用英語跟人真實溝通。你記得英語學英語是為了跟人溝通。已經有六個不同的習慣。這是自己在家裡練得第七個習慣是開始走出去用。如果你近一年了。或者你要到國外?你是怎麼做你每天被在外邊找機會。真人真事溝通,這個不是做練習題。你出門遇鄰居。說goodmorning。每天你要找一個地方可以吃飯

報表統計——java實現查詢某年某月每天資料資料0

一般圖表繪製例如echarts等,返回資料格式都大同小異。重點是利用sql或者java實現資料格式的轉型,接下來是關鍵部分: 1.前提1:提供的工具方法——獲取某月有多少天 //通過年份和月份確定該月的最後一天 public static int getMaxDay(int year,in

mysql備份最近8的資料庫老的自動刪除方案

伺服器上的處理指令碼記錄: [[email protected] test]# crontab -l0 2 * * * /bin/sh /script/sqlbackup.sh >/dev/null 2>&1[[email protected] test]# cd /

mysql 獲取某個庫下面所有表的所有資料(儲存過程)

 DROP PROCEDURE IF EXISTS test;/* 刪除已存在的儲存*/  CREATE PROCEDURE test()  BEGIN   DECLARE done INT DEFAULT 0; /*用於判斷是否結束迴圈*/ &nb

jqGrid 能獲取json 資料前端資料顯示不出!(解決)

jqGrid 從後臺能獲取json 資料,但是前臺grid資料顯示不出!(最後朋友幫忙解決的) 一、首先要確認json格式要正確(是否拼接錯誤了) 格式不清楚的可以去百度一下。 二、錯誤處理 jQuery("#_lessonGrid")