![]() |
Модераторы: skyboy |
![]() ![]() ![]() |
|
Veve |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
В MySQL существует следующая таблица
id int(11) date datetime Нужно создать следующий запрос: В первом столбце дата, а во втором разность между датой из следующей строки и датой в первом столбце |
|||
|
||||
Dremlin |
|
|||
![]() Quo vadis? ![]() Профиль Группа: Участник Сообщений: 157 Регистрация: 21.9.2006 Где: Киев Репутация: нет Всего: 4 |
--------------------
Каждый дурак знает, что до звезд не достать, а умные, не обращая внимания на дураков, пытаются... |
|||
|
||||
Veve |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
Спасибо
![]() |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
Dremlin,
и где интересно написано, что нумерация id непрерывна? |
|||
|
||||
Veve |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
А кстати, а чё делать, если нужно отнять от следующей даты по возрастанию... у неё может быть любой ID?
Это сообщение отредактировал(а) Veve - 5.1.2007, 18:45 |
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
Veve,
в терминах БД нет, никогда не было и не будет понятия "следующая строка". БД - это источник данных, а не таблица, в которой строки хранятся одна за другой. Условия по сортировки записей ты должен придумывать сам и в алгоритме предусмотреть тоже сам. Если ты говоришь, что ID идут непрерывным числовым рядом увеличиваясь на единицу, тогда пример Dremlinа тебе подходит. Если нужно отсортировать по ID или дате, то можно придумать варианты с временной таблицей, либо добавлять еще одно поле. |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
|
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
||||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
||||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
skyboy, все еще надеюсь, что парень сядет и продумает свой вопрос до конца - глядишь и вопрос несколько изменится ))
|
|||
|
||||
Veve |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
Да, прошу прощения. Вопрос получился действительно не коректным. Просто хотел как можно проще описать задачу и сам немного запутолся.
Суть следующая: Есть таблица с датой, причём дата расположена в разном порядке (не отсортирована). Нужно создать запрос: столбец с датой (как и в таблице) и столбец с разностью дат. Допустем имеються даты 2006-05-08 12:00:00 2005-05-08 13:00:00 2006-05-08 14:00:00 Таблица после запроса должна быть примерно такой 2006-05-08 12:00:00 \ (2006-05-08 14:00:00) - (2006-05-08 12:00:00) 2005-05-08 13:00:00 \ (2006-05-08 12:00:00) - (2005-05-08 13:00:00) 2006-05-08 14:00:00 \ нет следующей даты. Разность даты должна выводиться в виде столькото дней и столькото времени.... Вроде так.... |
|||
|
||||
skyboy |
|
|||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 41 Всего: 260 |
Veve, мой запрос не работает?
|
|||
|
||||
DENNN |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
В этом случае нужно указать условие как сортировать строки иначе в разные моменты времени/на разных базах/на разных версиях/на разных движках/при разной логике результаты могут отличаться. Еще раз повторяю: в терминах баз данных данные не хранаятся построчно. БД - это лишь просто некое хранилище информации. Никто не обещает, что завтра на select * from table where 1=1; данные будут выданы в том же порядке, как были добавлены. |
|||
|
||||
Veve |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 1.1.2005 Где: Латвия, Рига Репутация: 3 Всего: 13 |
skyboy, спасибо работает! Всё ОК!
![]() |
|||
|
||||
Архипов |
|
|||
Новичок Профиль Группа: Участник Сообщений: 15 Регистрация: 25.11.2006 Репутация: нет Всего: нет |
alltime- разница time2-time1 вопрос, можно ли как нибудь alltime привести в читабельный вид????? |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | MySQL | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |