Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Алгоритм начало+конец+минимум+максимум, задача на смекалку.. / 7 сообщений из 7, страница 1 из 1
25.02.2015, 17:21:03
    #38888757
RomkA-Romka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
Привет всем!
В голове поселилась мысль, возможно ли такое реализовать:
имеем таблицу например показания температур и дату(в данном случае в машине стоит микроконтроллер RaspberryPi который считывает температуру двигателя и заносит каждую минуту в бд). Например:
id, val, day(datetime)

захотелось сделать статистику, а именно - отображение:
первые 5 позиций
+
максимальное значение (-2 предыдущих показания, текущее(макс), +2 следующих по порядку)
+
минимальное значение (-2 предыдущих показания, текущее(мин), +2 следующих по порядку)
+
последние 5 записей из таблицы.

Хотел сделать в связке с php, но вот теперь как то кажется миссия невыполнима..
Думал получить примерно такую таблицу в итоге(со временем, в примере не рисую дабы большой объем получится):

1, 20, 2015-01-01
2, 21, 2015-01-01
3, 22, 2015-01-01
4
5
....
20, 99, 2015-01-02
21, 100, 2015-01-02
22, 105, 2015-01-02 - это максимум
23, 104, 2015-01-02
24, 102, 2015-01-02
...
50, 4, 2015-01-05
51, 3, 2015-01-05
52, 2, 2015-01-05 - это минимум
53, 3, 2015-01-05
54, 6, 2015-01-05
...
ну и тут последние 5 записей.





подскажите пожалуйста, как можно такое решить, и возможно ли... ?)))
...
Рейтинг: 0 / 0
25.02.2015, 17:24:15
    #38888763
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
Имхо, это лучше делать при выводе (в данном случае это php, как я понял).
Максимум - величина, которая одновременно больше величины предыдущей и следующей записей.
Минимум - величина, которая одновременно меньше величины предыдущей и следующей записей.
...
Рейтинг: 0 / 0
25.02.2015, 18:11:37
    #38888812
RomkA-Romka
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
ну а как это в коде будет ?
получается что нужно сначала найти максимум, а потом по максимуму искать +-, т.е. получается примерно так ?

select *(или id, val, dat)
from table
where val = (select max(val) from table)

а как при этому +- сделать ?

да и сама конструкция не очень нравится нахождения максимума/минимума..
...
Рейтинг: 0 / 0
25.02.2015, 18:20:53
    #38888820
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
Не, на SQL это будет банальный SELECT ... FROM ... ORDER BY day.
А на клиенте держите скользящее окно в пять записей. Если 3-я запись окна удовлетворяет условию минимума/максимума, то выводите содержимое всего окна. Потом продвигаете окно на одну запись (самую старую выкидываете, новую читаете).

Попутно надо определиться, что делать в случаях, когда максимумы/минимумы идут плотнее, чем через 5 записей.
...
Рейтинг: 0 / 0
26.02.2015, 06:16:28
    #38889035
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
miksoftА на клиенте держите скользящее окно в пять записей. Если 3-я запись окна удовлетворяет условию минимума/максимума, то выводите содержимое всего окна.эээ... как я понял, ТСу нужен "общий" максимум (по всей таблице), а не куча локальных максимумов.
...
Рейтинг: 0 / 0
26.02.2015, 08:25:28
    #38889073
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
RomkA-Romka,

подскажите пожалуйста, как можно такое решить, и возможно ли... ?)))

Да, возможно.
надо написать запрос или хранимую процедуру.
...
Рейтинг: 0 / 0
26.02.2015, 09:36:32
    #38889123
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Алгоритм начало+конец+минимум+максимум, задача на смекалку..
tanglirmiksoftА на клиенте держите скользящее окно в пять записей. Если 3-я запись окна удовлетворяет условию минимума/максимума, то выводите содержимое всего окна.эээ... как я понял, ТСу нужен "общий" максимум (по всей таблице), а не куча локальных максимумов.Да, похоже, я неправильно понял. Ну тогда задача еще упрощается - 4 SELECT-а через UNION.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Алгоритм начало+конец+минимум+максимум, задача на смекалку.. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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