Каков наилучший способ группировки строк по одной и той же отметке времени?

0

Прямо из-за того, что в прошлый раз не получился правильный ответ, я переформулирую это.

Я хочу создать страницу, на которой отображаются все приборы из 'tbl_fixtures'.

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

Это настройка таблицы. Столбец даты - это метка времени. Я хочу показать все приборы в блоках на основе столбца даты.

Будут блоки из 10 светильников с одинаковой меткой времени. Я хочу показать это вот так...

Fixture 1 - (временная метка в читаемом формате) Затем все 10 светильников....

Светильник 2 - (метка времени) Затем 10 светильников...

и т.д.

Пока все светильники не сгруппированы по метке времени.

Как я могу это сделать?

  • 0
    Я не уверен, что формат вашей отметки времени, но почему вы не можете просто включить «ORDER BY date» в вашем утверждении выбора?
  • 0
    Я мог бы, но я хочу разделить строки с разными датами?
Показать ещё 4 комментария
Теги:

2 ответа

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
}
  • 0
    Да, я хочу, чтобы они были все в порядке метки времени, но когда метка времени меняется, я хочу новый заголовок / заголовок.
  • 0
    Вы имеете в виду, когда меняется неделя ?
0

Я попытаюсь прочитать ваш разум и предложить использовать DATE_FORMAT:

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

Где% u - номер недели (ref).

Ещё вопросы

Сообщество Overcoder
Наверх
Меню