2017-02-06 116 views
1

我的表格中有一个名为“小时”的字段,该字段是我的工作人员每天工作的时间,它为每天创建一个新的注册表,因此它是这样的:每天,每周和每月的总和

Date: 2017-02-06; hours: 3 
Date: 2017-02-07; hours: 8 
Date: 2017-02-31; hours: 8 

的问题是,我该怎么做一个选择来概括所有的时间这一天(这已经解决),本周和本月。

我希望是这样的:

总和为这一天(2017年2月6日):3

总和本周(2017-02-06-2017--2017-02-12 ):11

总和本月(2月):19

原始查询:

$db->query("select sum(hours) horasDia from table_hours where                
user="'.$user.'" and DATE(inici)=date('Y-m-d')); 

我通过pH值这样做页。

编辑: 随着rahul_m的答案:

对于一天,

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 

对于本周

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 
GROUP BY WEEK(your_date); 

月分

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 
GROUP BY DATE_FORMAT(your_date, "%m-%Y"); 

在一周节它' s给我只日期的小时数2017-01-31(2017-01-30周)

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= "2017-01-31"; 
GROUP BY WEEK("2017-01-31"); 

在月份部分,它没有给我什么。

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= "2017-01-31"; 
GROUP BY DATE_FORMAT("2017-01-31", "%m-%Y"); 

也许我做错了什么。

+1

请提供样本数据和预期输出 – GurV

+0

并显示您的查询工作(白天) –

+0

周该日期会给数据的日期属于该只有一天,我希望我很清楚, – rahulsm

回答

1

对于一天,

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 

对于本周

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 
GROUP BY WEEK(your_date); 

月分

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 
GROUP BY YEAR(o_date), MONTH(o_date) 

你会得到所有的三个细节,每本您的要求, 给它一个尝试。

编辑

周的相关数据是正确的,因为它是给只有一周的所有数据。

几个月来,

月分

SELECT SUM(`hours`) horasDia 
FROM  table_hours 
WHERE  user="'.$user.'" and DATE(inici)= your_date; 
GROUP BY YEAR(your_date), MONTH(your_date) 
+0

感谢您的回答,但目前为止我还没有为此工作,本周where子句中使用的数据与组中使用的数据相同?而由于它不工作,我的意思是在一周内,它的表现并不好,并且在这个月它没有向我展示任何东西。 – Akaishu

+0

赦免,你能否再次清除你的问题 – rahulsm

+0

我更新了帖子,所以它更清晰 – Akaishu