Работа с историей

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Работа с историей

Сообщение Amarok » Пн май 08, 2017 9:50 am

К примеру, есть объект ESPmeteo и у него есть свойство temp. У ESPmeteo.temp накоплена история за год. Вопрос: как из истории удалить значения более 40? Или менее -40?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Работа с историей

Сообщение Eraser » Пн май 08, 2017 10:13 am

Amarok писал(а):К примеру, есть объект ESPmeteo и у него есть свойство temp. У ESPmeteo.temp накоплена история за год. Вопрос: как из истории удалить значения более 40? Или менее -40?
SQLExec("DELETE FROM `phistory` WHERE `VALUE_ID`=(SELECT ID FROM `pvalues` WHERE `PROPERTY_NAME`='ESPmeteo.temp') and `VALUE`>40");
Последний раз редактировалось Eraser Пн май 08, 2017 11:13 am, всего редактировалось 1 раз.
За это сообщение автора Eraser поблагодарил:
TurburatoR (Пт янв 18, 2019 8:13 pm)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

Re: Работа с историей

Сообщение Amarok » Пн май 08, 2017 10:26 am

И, соответственно, `VALUE`<-40"); ?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Eraser
Сообщения: 1085
Зарегистрирован: Вт окт 21, 2014 7:31 pm
Откуда: Киров
Благодарил (а): 14 раз
Поблагодарили: 868 раз
Контактная информация:

Re: Работа с историей

Сообщение Eraser » Пн май 08, 2017 11:10 am

Amarok писал(а):И, соответственно, `VALUE`<-40"); ?
да, можно и одним запросом
SQLExec("DELETE FROM `phistory` WHERE `VALUE_ID`=(SELECT ID FROM `pvalues` WHERE `PROPERTY_NAME`='ESPmeteo.temp') and (`VALUE`>40 or `VALUE`<-40");
За это сообщение автора Eraser поблагодарил:
Amarok (Вт май 09, 2017 11:53 am)
Рейтинг: 1.16%
Connect ---- Telegram
ЮMoney для благодарностей за помощь: 410012076838296 или нажмите кнопку "Спасибо"!!! :D
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: Работа с историей

Сообщение Jilber » Пн май 15, 2017 2:25 pm

А можно ли как-то добавить данные истории в базу за уже прошедшее время ? Допустим есть файл с содержанием типа "дата, время, значение", например:
2017-02-21 16:36:34,171
2017-02-21 20:36:33,169
2017-02-22 00:36:37,170
2017-02-22 04:46:44,172
2017-02-22 08:46:34,173
2017-02-22 12:46:33,169
2017-02-22 16:46:31,169

Сам нашёл как это сделать: INSERT INTO phistory (VALUE_ID, ADDED, VALUE) VALUES ('418', '2017-05-13 09:56:41', '197723')
Осталось как-то автоматизировать процесс.
Ответить