我需要有关如何按周对我的QUERY输出进行分组的帮助。
我想要什么:
我希望将包含相同星期数和小时数的所有列合计为一列。
我当前的查询:
$query = "
SELECT userhours_id, user_hours, hours_timeoccur, SUM(user_hours) as 'myhours' FROM hours h
where h.userhours_id = $loginuser_id
AND h.hours_timeoccur = '$datetime'
";
我确实尝试添加以下内容以按$ datetime进行分组,该日期是20xx-xx-xx格式中的每一天,但没有任何区别:
GROUP BY WEEK(WEEKOFYEAR(h.hours_timeoccur))
我还尝试添加一个PHP IF语句,该语句表示如果$ weeknum(每个日期的星期),但是我从来没有真正弄清楚我将使用什么参数..因此陷入了困境:
if ($weeknum = $weeknum ) {
'myoutput'
}
任何IDéa关于如何完成这种请求?预先感谢!
答案 0 :(得分:1)
此查询应提供按用户和年份星期分组的数据:
SELECT userhours_id, WEEKOFYEAR(h.hours_timeoccur) AS hours_week, SUM(user_hours) as 'myhours'
FROM hours h
WHERE h.userhours_id = $loginuser_id
GROUP BY userhours_id, hours_week
我删除了date where子句,就好像您只选择一个日期,那么它不会显示有用的信息,也许最好提供一个日期范围并查询BETWEEN
?