ขอแนวการคำนวณค่าเป็นรายชั่่วโมงครับ ได้คิวรี่ทีละชั่วโมงกราฟ 1 วัน ก็ 24 คิวรี่ต่อกราฟ ทำไงดี
ไม่รู้ว่าใช่อย่างนี้หรือเปล่าหน่ะครับ
Code (SQL)
SELECT COUNT(id) as num, HOUR(date_create) as hour_group FROM tbl_x WHERE date_create BETWEEN '2012-06-01 00:00:00' AND '2012-06-30 23:59:59' GROUP BY HOUR(date_create)
Date :
2012-11-06 14:16:53
By :
ไวยวิทย์
Code (SQL)
select hour(date_field),count(*) total
from table
where date_field between '2012-06-01 00:00:00' and '2012-06-30 23:59:59'
group by hour(date_field)
order by hour(date_field)
ประวัติการแก้ไข 2012-11-06 14:21:52
Date :
2012-11-06 14:19:58
By :
Pep_Fare
ของเดิมผมเขียนอย่างนี้อ่ะครับ
Code (PHP)
<?php
//$strSQL = "SELECT * FROM log_list WHERE ";
set_time_limit(0);
$strSQL = "SELECT * FROM log_list WHERE 1 ";
if($_GET["txtProvince"] != "")
{
$strSQL .= " AND (province LIKE '%".$_GET["txtProvince"]."%') ";
}
if($_GET["txtProvince"] != "")
{
$strSQL .= " AND (province LIKE '%".$_GET["txtProvince"]."%') ";
}
if($_GET["nStartDate"] != "" && $_GET["nEndDate"] != "")
{
if($a < 10){ $temp = "0".$a; }else{ $temp = $a; }
$dd = substr($_GET["nStartDate"],0,2);
$mm = substr($_GET["nStartDate"],3,2);
$yyyy = substr($_GET["nStartDate"],6,4);
$zStartDate = $yyyy."-".$mm."-".$dd." 00:00:00";
$dd = substr($_GET["nEndDate"],0,2);
$mm = substr($_GET["nEndDate"],3,2);
$yyyy = substr($_GET["nEndDate"],6,4);
$zEndDate = $yyyy."-".$mm."-".$dd." 23:59:59";
$strSQL .= " AND (date_log BETWEEN '".$zStartDate."' and '".$zEndDate."') ";
}
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
$Num_Rows = mysql_num_rows($objQuery);
?>
ซึ่งได้ผลรวมออกมาทั้งหมด ผมอยากแยกออกมาเป็น ชั่วโมงว่าแต่ละชั่วโมงมีกี่รายการ
ซึ่งผลรวมทุกชั่วโมงต้องได้เท่ากับค่าผลรวมทั้งหมดอ่ะครับ
ผมลองตามคำแนะนำของท่านๆ แล้ว มันไม่ได้อ่ะครับ T_To แงๆๆ
ช่วยหน่อยนะครับ
Date :
2012-11-06 14:39:50
By :
pokultra
ต้องแยกเป็นวันที่ไหมครับ ประมาณว่า
วันที่ 1 : 24 ชั่วโมง
วันที่ 2 : 24 ชั่วโมง
หรือว่าบวกทุกชั่วโมง ของทุกวัน
ไม่รู้ว่าจะได้หรือเปล่าหน่ะครับผม
Code (PHP)
<?php
//$strSQL = "SELECT * FROM log_list WHERE ";
set_time_limit(0);
$strSQL = "SELECT log_list.*, HOUR(date_log) as hour_group FROM log_list WHERE 1 ";
if($_GET["txtProvince"] != "")
{
$strSQL .= " AND (province LIKE '%".$_GET["txtProvince"]."%') ";
}
if($_GET["txtProvince"] != "")
{
$strSQL .= " AND (province LIKE '%".$_GET["txtProvince"]."%') ";
}
if($_GET["nStartDate"] != "" && $_GET["nEndDate"] != "")
{
if($a < 10){ $temp = "0".$a; }else{ $temp = $a; }
$dd = substr($_GET["nStartDate"],0,2);
$mm = substr($_GET["nStartDate"],3,2);
$yyyy = substr($_GET["nStartDate"],6,4);
$zStartDate = $yyyy."-".$mm."-".$dd." 00:00:00";
$dd = substr($_GET["nEndDate"],0,2);
$mm = substr($_GET["nEndDate"],3,2);
$yyyy = substr($_GET["nEndDate"],6,4);
$zEndDate = $yyyy."-".$mm."-".$dd." 23:59:59";
$strSQL .= " AND (date_log BETWEEN '".$zStartDate."' and '".$zEndDate."') ";
}
$strSQL .= "GROUP BY HOUR(date_log)";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResult = mysql_fetch_array($objQuery);
$Num_Rows = mysql_num_rows($objQuery);
?>
Date :
2012-11-06 14:49:41
By :
ไวยวิทย์
ไม่ต้องแยกเป็นวันครับ แยกเป็นชั่วโมงตามช่วงเวลาที่เลือก
แล้วจะทำไงให้มันรันครบ 24 ชั่วโมง ครับ
ขอบคุณครับ
ประวัติการแก้ไข 2012-11-06 15:38:14
Date :
2012-11-06 15:11:48
By :
pokultra
ใช่ครับ ที่เหลือวนลูป กับแสดงจำนวนข้อมูลที่อยู่ในช่วงเวลาที่เลือก ว่ามีกี่เรคคอร์ส
Date :
2012-11-06 15:45:08
By :
pokultra
ผมต้อง echo ตัวแปรตัวไหนครับ
Date :
2012-11-06 16:24:08
By :
pokultra
ขอบคุณมากนะครับ ได้แล้ว!!!
ถ้าเป้นสมาชิกจะกดให้คะแนนขอบคุณเลย ^^
Date :
2012-11-06 16:51:30
By :
pokultra
ขอบคุณทุกท่านมากนะครับ
Date :
2012-11-06 16:53:22
By :
pokultra
Date :
2012-11-06 16:53:31
By :
ไวยวิทย์
Load balance : Server 01