【发布时间】:2010-11-11 15:41:36
【问题描述】:
大家好,我正在尝试获取天数数据库中的最大天数。例如,(Sat, Mon, Tue, Mon, Tue, Fri, Thu, Sun, Mon)的数据库应该打印“Mon”作为结果(作为最大出现次数)。但我卡住了!!数据库很奇怪。看看吧。
time_id time_duration
1 2010-10-15 10:05:00
1 2010-10-15 10:10:00
1 2010-10-15 10:15:00
2 2010-10-16 10:20:00
2 2010-10-16 10:25:00
2 2010-10-16 10:30:00
3 2010-10-17 10:35:00
3 2010-10-17 10:40:00
3 2010-10-17 10:45:00
4 2010-10-18 10:50:00
4 2010-10-18 10:55:00
4 2010-10-18 11:00:00
4 2010-10-18 11:05:00
4 2010-10-18 11:10:00
5 2010-10-19 11:15:00
5 2010-10-19 11:20:00
5 2010-10-19 11:25:00
所以我们需要先将time_id分组,得到开始时间和结束时间。结果应该是:
1: "Start 2010-10-15 10:05:00 - End 2010-10-15 10:15:00"
2: "Start 2010-10-16 10:20:00 - End 2010-10-16 10:30:00"
3: "Start 2010-10-17 10:35:00 - End 2010-10-17 10:45:00"
4: "Start 2010-10-18 10:50:00 - End 2010-10-18 11:10:00"
5: "Start 2010-10-19 11:15:00 - End 2010-10-19 11:25:00"
然后我们得到一周中最常见的一天。所以,最有趣的是周一,结果应该是周一。
这是我到目前为止所做的......
$dates = mysql_query("SELECT DATE_FORMAT(MAX(time_duration), '%a')
AS max_days FROM timeDuration
GROUP BY time_id
ORDER BY time_id");
while($row = mysql_fetch_array($dates)) {
$maxDayOfSign = $row['max_days'];}?>
你能告诉我我哪里出错了吗?当我使用显示它时,我没有收到任何错误
echo $maxDayOfSign; 但它不显示任何内容。帮助!! :(
【问题讨论】:
-
因为你用的是
mysql_query()我把sql重新标记为mysql
标签: php mysql datetime group-by max