mysql: Как сгрупировать по периоду?

1 23
N0
На сайте с 12.11.2007
Offline
45
#21

netwind, к сожалению ( а может и к счастью (😂)), проектировал не я.

проектировали задолго до меня, году эдак в ....

Слишком много завязано на этой таблице, чтобы ее структуру сейчас менять

За пример спасибо :)

nat000 добавил 23.11.2009 в 16:33

netwind,

по поводу вашего примера

допустим, пользователь ввел 29 октября 2009, т.е. 20091029:


create table t (d char(20));
insert into t values ('200910292340'),('200910292240');

mysql> select str_to_date(d,'%Y%m%d%H%i') from t;
+-----------------------------+
| str_to_date(d,'%Y%m%d%H%i') |
+-----------------------------+
| 2009-10-29 23:40:00 |
| 2009-10-29 22:40:00
...............................

| 2009-10-29 00:40:00 |
+-----------------------------+

mysql> select CONVERT_TZ(str_to_date(d,'%Y%m%d%H%i'),'+3:00','+6:00') from t;
+---------------------------------------------------------+
| CONVERT_TZ(str_to_date(d,'%Y%m%d%H%i'),'+3:00','+6:00') |
+---------------------------------------------------------+
| 2009-10-30 02:40:00 |
| 2009-10-30 01:40:00 |

....

2009-10-29 03:40:00
+---------------------------------------------------------+


Я опять получу разные дни.

Я не спрашиваю как конвертировать таймзону, а как сгрупировать по дням

Пластиковые окна Москва (http://vse-plastikovie-okna.ru) Стеклопакеты Москва (http://e-steklopaketi.ru)
N
На сайте с 06.05.2007
Offline
419
#22

nat000, не буду оригинален - это можно сделать с помощью программирования :)

в чем проблема написать GROUP BY (<жуткое_выражение_и_convert_tz) ?

Кнопка вызова админа ()
N0
На сайте с 12.11.2007
Offline
45
#23

вот сейчас как раз пробую разные жуткие выражения в GROUP BY )))

SF
На сайте с 11.10.2005
Offline
137
#24
nat000:
сгруппировать по временному промежутку
SellingFeis:
DATE_FORMAT(c.c_date, '%Y-%u') as c_date_ned

вот страница с кодами с помощью которых поле datetime приводится к какому надо формату.

Использование функции MySQL DATE_FORMAT

но вам это похоже не поможет

больно уж у вас запутано

вот тоже почитайте о прибавке времени к дате

mysql ADDDATE

addtime

Инструкция: Как Правильно Делать Сайты: Домен, Хостинг, Установка CMS (http://www.3sd.ru/kak-delat-site/index.php).
N0
На сайте с 12.11.2007
Offline
45
#25

SellingFeis, я уже

решил проблему с помощью "ужасного" select запроса :D

Не группировало по дням потому, что все записи имели разные

поля hour. Поэтому убрал hour из select и вместо этого добавил время в условие

Всем спасибо 🚬

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий