powered by simpleCommunicator - 2.0.19     © 2024 Programmizd 02
Map
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как отсортировать выборку по времени оставшемуся до события?
5 сообщений из 5, страница 1 из 1
Как отсортировать выборку по времени оставшемуся до события?
    #40065929
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если это событие задано временным интервалом, и те события что сейчас идут должны быть вверху списка.

То есть если имеется два интервала 8:00 - 11:00 и 9:00 - 16:00, а сейчас 12:00, то первым в выборке должен быть тот, который с 9:00 до 16:00, потому что он сейчас идет, а до другого еще 20 часов.

Или лучше делать двумя выборками через union?
...
Рейтинг: 0 / 0
Как отсортировать выборку по времени оставшемуся до события?
    #40066193
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По хорошему надо добавить дату и все легко отсортируется.
...
Рейтинг: 0 / 0
Как отсортировать выборку по времени оставшемуся до события?
    #40066320
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Они ежедневные, не представляю как дату добавить.
...
Рейтинг: 0 / 0
Как отсортировать выборку по времени оставшемуся до события?
    #40066339
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Менять каждый день ежедневные. Как понимаю менять по завершении.
Например было 27.04.21 08:00 - 27.04.21 11:00, в 11:00 меняешь на 28.04.21 08:00 - 28.04.21 11:00
Для выборки достаточно получить с сортировкой по дате начала.

PS Учти что бывает переход через полночь, например 23:00 - 02:00
...
Рейтинг: 0 / 0
Как отсортировать выборку по времени оставшемуся до события?
    #40066412
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsql
Если это событие задано временным интервалом, и те события что сейчас идут должны быть вверху списка.

То есть если имеется два интервала 8:00 - 11:00 и 9:00 - 16:00, а сейчас 12:00, то первым в выборке должен быть тот, который с 9:00 до 16:00, потому что он сейчас идет, а до другого еще 20 часов.

Или лучше делать двумя выборками через union?

Тогда уж с тремя и через with

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
with current as (
  select 'current', t.start, t.end  from t where now between t.start and t.end
),
future as (
 select 'future', t.start, t.end  from t where now<t.start
),
nextday as (
 select 'next day', t.start, t.end  from t where now>t.end
)
select * from current
union
select * from future
union
select * from nextday
order by 1,2,3
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Как отсортировать выборку по времени оставшемуся до события?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (0):
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]