通过相同的时间戳对行进行分组的最佳方法是什么?

时间:2010-06-04 19:54:53

标签: php mysql

由于上次没有得到正确的答案,我会改写这个。

我想创建一个页面,其中显示来自'tbl_fixtures'的所有灯具。

id - compname - home_user - home_team - away_user - away_team - date

这就是表格设置。 日期列是时间戳。 我想根据日期列显示块中的所有灯具。

将会有10个灯具块,它们具有相同的时间戳。 我想像这样展示......

Fixture 1 - (可读格式的时间戳) 然后是所有10个装置......

夹具2 - (时间戳) 然后10个灯具......

等等。

直到所有灯具按时间戳分组。

我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

如果您想要将它们“分组”几周,可以使用WEEK()功能。最好的方法是按时间戳排序行,如果周变化则打印新的星期标题:

$result = $mysql_query("SELECT WEEK(timestamp) as week, * FROM myTable ORDER BY timestamp");

$current_week = null;
while ($row = mysql_fetch_assoc($result)) {
  if ($row["week"] != $current_week) {
    $current_week = $row["week"];
    echo 'Week ' . $current_week .': ';
  }
  echo $row["timestamp"];
  // echo other fields
}

答案 1 :(得分:0)

我会尝试阅读你的想法并建议使用DATE_FORMAT:

SELECT DATE_FORMAT(`add_dt`, '%u') AS `d`, `field1`, `field2`
FROM `table1`
ORDER BY `d`

%u是周数(ref)。