powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт времени между 0 и 1
18 сообщений из 18, страница 1 из 1
Подсчёт времени между 0 и 1
    #39789299
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здраствуйте.

Есть такая таблица:


Требуется посчитать время изменения с 0 на 1, и до времени изменения с 1 на 0. Потом подсчитать количество таких изменений.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789300
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужна помощь в составлении запроса
Спасибо
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789322
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Укажите точную версию сервера.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789345
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
8.0.11
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789351
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
WHERE itemX + LAG(itemX ORDER BY timestamp ASC) = 1
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789860
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за ответ. Но ошибку выдаёт.
Сервер я использую локальный MIAMS SERVER PACK база: 8.0.11 - MySQL Community Server - GPL Веб-сервер
Apache/2.4.33 (Win64) PHP/7.2.5
Версия клиента базы данных: libmysql - mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
PHP расширение: mysqli mbstring
Версия PHP: 7.2.5
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789878
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей CDошибку выдаётНу... вообще-то в таких случаях ожидается не "сочинение по мотивам", а точный текст запроса и точный текст сообщения об ошибке. И DDL будет не лишним.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789890
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Совсем забыл.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789897
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
К сожалению я не профи, по этому прошу не пинать. И DDL не знаю что такое.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789901
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей CDК сожалению я не профи, по этому прошу не пинать.Но мануал-то по неизвестной функции можно было глянуть? и понять, что синтаксически должно быть
Код: sql
1.
WHERE itemX + LAG(itemX) OVER (ORDER BY timestamp ASC) = 1


Сергей CDDDL не знаю что такое
Data Definition Language. Язык определения данных. Применительно к таблице - результат вывода
Код: sql
1.
SHOW CREATE TABLE tablename;
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789903
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё - тексты запросов и сообщения об ошибках желательно давать текстом, а не фотографиями. А сами запросы выполнять в клиенте командной строки mysql.exe, а не из стороннего (к тому же нештатного) клиента, который непременно будет обвешивать операцию своими дополнениями, что может исказить чистоту получаемой информации.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789977
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Понял исправляюсь.

Код: plaintext
1.
2.
3.
4.
mysql> use modbus;
Database changed
mysql> WHERE itemX + LAG(itemX) OVER (ORDER BY timestamp ASC) = 1;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE itemX + LAG(itemX) OVER (ORDER BY timestamp ASC) = 1' at line 1
mysql>
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789980
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DDL:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
mysql> SHOW CREATE TABLE data;
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table                                                                                                                                                                                                                                                                   |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| data  | CREATE TABLE `data` (
  `DATA_TIME_STAMP` datetime DEFAULT NULL,
  `ITEM1` tinyint(1) DEFAULT NULL,
  `ITEM2` tinyint(1) DEFAULT NULL,
  `ITEM3` tinyint(1) DEFAULT NULL,
  `ITEM4` tinyint(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci |
+-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.01 sec)

mysql>
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39789995
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот fiddle .
Разбирайтесь.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39790062
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Но я ничего не понял. Я бы и рад разобраться. Что означают данные в стоблце changed?
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39790310
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей CDЧто означают данные в стоблце changed?Единица означает, что в этой записи по сравнению с предыдущей изменилось значение флага.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39790379
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может я не так поставил вопрос. Хочу посчитать время единиц, от изменения с нуля на единицу, и до изменения с единицы на ноль. В общем единица это работа, а ноль это не работа. Мне но до посчитать время работы. Запись идёт раз в секунду. Соответственно если 3 единицы это 3 секунды. Если 147 единиц то это 2 мин 45 сек.
...
Рейтинг: 0 / 0
Подсчёт времени между 0 и 1
    #39790710
Сергей CD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем получается так.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подсчёт времени между 0 и 1
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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