有人問在資料庫中得到某個小時有多少條的的統計資料,但是一天24個小時,想讓那些時間沒有資料的顯示0,該如何處理呢?
比如我們得到陣列
<?php凌晨 一點 22點 23點都有資料,可是其他時間沒有資料,該怎麼自動的填充為0呢?$array1=array
( "00"=>1,
"01"=>2,
"22"=>3,
"23"=>4,);
?>
方式1.迴圈處理
<?php因為自增沒有前導零,所以要用strlen判斷一下。當然這裡面可以改進一下,比如用這種方式$array=array
( "00"=>1,
"01"=>2,
"22"=>3,
"23"=>4,);
for ($i=0; $i
<=23 ; $i++)
var_dump($result
);?>
<?php採用sprintf彌補它。$array=array
( "00"=>1,
"01"=>2,
"22"=>3,
"23"=>4,);
for ($i=0; $i
<=23 ; $i++)
var_dump($result
);?>
第二種方式,直接合併陣列
<?php這樣也可以得到結果 陣列相加合併 然後排序即可。$array1=array
( "00"=>1,
"01"=>2,
"22"=>3,
"23"=>4,);
$array2=array
( "00"=>0,
"01"=>0,
"02"=>0,
"03"=>0,
"04"=>0,
"05"=>0,
"06"=>0,
"07"=>0,
"08"=>0,
"09"=>0,
"10"=>0,
"11"=>0,
"12"=>0,
"13"=>0,
"14"=>0,
"15"=>0,
"16"=>0,
"17"=>0,
"18"=>0,
"19"=>0,
"20"=>0,
"21"=>0,
"22"=>0,
"23"=>0,
"24"=>0,);
$result=$array1+$array2
;ksort($result
);var_dump($result
);?>
結果如下:
mybatis 查詢每天,每小時的資料
查詢每天的 時間段內,按天進行統計 date format 函式是,返回日期格式,這個自己設定。select date format add time,y m d as 交易時間,sum order amount as sumamount from club order where add time...
oracle資料每小時同步一次
第一步 要連線到遠端生產資料庫,creat link 建立可以採用兩種方式 1 已經配置本地服務 create public database link fwq12 connect to fzept identified by neu using fjept create database link...
Oracle SQL 每小時取一條資料
現有資料中,有很多個類別的資料,每個類別每小時有大概有300多條資料。需求 每個類別中一小時只取一條資料。表名 table 類別欄位名 type 時間欄位名 time select r.from select row number over partition by type,timeh order...