Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Отбор по времени / 10 сообщений из 10, страница 1 из 1
09.10.2013, 18:37
    #38422000
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
1) Можно ли организовать выбор последней по времени (T) записи без организации подзапроса типа:
select id from tbl1 where a=... and b=... and t=(select max(t) from tbl1 where a=... and b=... and t<...)
или
select id from tbl1 where a=... and b=... and t=(select first 1 t from tbl1 where a=... and b=... and t<... order by t desc);
что-нибудь вроде having t=max(t)?
2) Есть ли какой-нибудь аналог функции abs при отборе ближайшего времени (min(abs(t-tn))) или использование case неизбежно:
min(case t>tn then t-tn else tn-t end case) (синтаксис может быть неточный, но смысл передает)?
...
Рейтинг: 0 / 0
10.10.2013, 02:58
    #38422267
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
bk00101) Можно ли организовать выбор последней по времени (T) записи без организации подзапроса типа:
select id from tbl1 where a=... and b=... and t=(select max(t) from tbl1 where a=... and b=... and t<...)
или
select id from tbl1 where a=... and b=... and t=(select first 1 t from tbl1 where a=... and b=... and t<... order by t desc);
что-нибудь вроде having t=max(t)?


Нет. И having используется с group by.

2) Есть ли какой-нибудь аналог функции abs при отборе ближайшего времени (min(abs(t-tn))) или использование case неизбежно:
min(case t>tn then t-tn else tn-t end case) (синтаксис может быть неточный, но смысл передает)?[/quot]

Нет.

select abs(current) from systables where tabid = 100

1260: It is not possible to convert between the specified types.
...
Рейтинг: 0 / 0
10.10.2013, 21:28
    #38423636
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
Жаль. Спасибо
...
Рейтинг: 0 / 0
13.10.2013, 13:37
    #38425626
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
bk00101) Можно ли организовать выбор последней по времени (T) записи без организации подзапроса типа:
select id from tbl1 where a=... and b=... and t=(select max(t) from tbl1 where a=... and b=... and t<...)
или
select id from tbl1 where a=... and b=... and t=(select first 1 t from tbl1 where a=... and b=... and t<... order by t desc);
что-нибудь вроде having t=max(t)?

Совсем люди с ума сошли теории не знают...
Вроде ж уже сами всё сделали...

Код: sql
1.
2.
3.
4.
5.
SELECT FIRST 1 id
  WHERE a = ...
      AND b = ...
      AND t < ...
ORDER BY t DESC
...
Рейтинг: 0 / 0
13.10.2013, 13:50
    #38425638
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
bk00102) Есть ли какой-нибудь аналог функции abs при отборе ближайшего времени (min(abs(t-tn)))

не встречал

bk0010или использование case неизбежно:
min(case t>tn then t-tn else tn-t end case) (синтаксис может быть неточный, но смысл передает)?

у программиста всегда есть выбор (с) анекдот
в данном случае:
0) регулярный копипаст кода
1) регулярное написание case ручками
2) использование syntax helper
3) написание своей функции SPL ,
4) внешней функции на C, Java, ... (если уж совсем по скорости грустно)
...
8) найти другую работу :)....
...
Рейтинг: 0 / 0
13.10.2013, 20:54
    #38425860
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
АнатоЛойСовсем люди с ума сошли теории не знают...
Вроде ж уже сами всё сделали...

Я надеялся что для этих задач есть какие-нибуть стандартные функции (методы) для финансистов - у них данные задачи могут встречаться часто, фирмы-разработчики обычно активно их поддерживают, а я к этой области отношения не имею, о существовании таких фунций не знаю. Ну нет так нет, зато теперь знаю, что не изобретаю велосипед.
А что такое syntax helper?
...
Рейтинг: 0 / 0
15.10.2013, 10:38
    #38427714
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
bk0010 А что такое syntax helper?
T9/swype для программеров: редактор по первым буквам зарезервированных слов или идентификаторов дописывает всё слово... :)
...
Рейтинг: 0 / 0
15.10.2013, 13:45
    #38428122
victor16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
АнатоЛойbk0010 А что такое syntax helper?
T9/swype для программеров: редактор по первым буквам зарезервированных слов или идентификаторов дописывает всё слово... :)

В некоторых редакторах это может называться code completion
...
Рейтинг: 0 / 0
15.10.2013, 18:24
    #38428639
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
victor16АнатоЛойпропущено...

T9/swype для программеров: редактор по первым буквам зарезервированных слов или идентификаторов дописывает всё слово... :)

В некоторых редакторах это может называться code completion
Я ошибся: выше я всё время подразумевал именно code completion...

Syntax Helper - это была подсказка с перечнем аргументов вызываемой функции или метода класса (как в Excel, когда формулу пишешь ). А вот где она так называлась - уже не вспомню....
...
Рейтинг: 0 / 0
15.10.2013, 19:12
    #38428697
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отбор по времени
Спасибо.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Отбор по времени / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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