Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выборка из таблицы с температурой / 9 сообщений из 9, страница 1 из 1
25.01.2016, 18:20:32
    #39154922
conect3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
Доброго времени суток!
может вопрос глупый и я туплю, но я не понимаю как сделать нужный запрос и не знаю как сформулировать его для поиска в гугле
имеем таблицу
id
time
sensorid
sensorvalue

в таблице такие записи (выборка по одному из сенсоров)

26959 2016-01-25 00:04:41 285A517A00000014 -20
26961 2016-01-25 00:09:41 285A517A00000014 -20
26963 2016-01-25 00:14:42 285A517A00000014 -20
26965 2016-01-25 00:19:41 285A517A00000014 -20
26967 2016-01-25 00:24:42 285A517A00000014 -20
26969 2016-01-25 00:29:42 285A517A00000014 -20
26971 2016-01-25 00:34:42 285A517A00000014 -20.5
26973 2016-01-25 00:39:42 285A517A00000014 -20
26975 2016-01-25 00:44:42 285A517A00000014 -20.5
26977 2016-01-25 00:49:42 285A517A00000014 -20.5
26979 2016-01-25 00:54:42 285A517A00000014 -20.5
26981 2016-01-25 00:59:42 285A517A00000014 -20.5
26983 2016-01-25 01:04:43 285A517A00000014 -20.5
26985 2016-01-25 01:09:43 285A517A00000014 -20.5
26987 2016-01-25 01:14:45 285A517A00000014 -20.5
26989 2016-01-25 01:19:43 285A517A00000014 -21
26991 2016-01-25 01:24:43 285A517A00000014 -21
26993 2016-01-25 01:29:43 285A517A00000014 -21
26995 2016-01-25 01:34:44 285A517A00000014 -21
26997 2016-01-25 01:39:44 285A517A00000014 -21.5
26999 2016-01-25 01:44:44 285A517A00000014 -21.5
27001 2016-01-25 01:49:44 285A517A00000014 -21.5
27003 2016-01-25 01:54:47 285A517A00000014 -21.5
27005 2016-01-25 01:59:44 285A517A00000014 -22
27007 2016-01-25 02:04:45 285A517A00000014 -22
27009 2016-01-25 02:09:45 285A517A00000014 -22
27011 2016-01-25 02:14:45 285A517A00000014 -22
27013 2016-01-25 02:19:45 285A517A00000014 -22
27015 2016-01-25 02:24:45 285A517A00000014 -22
27017 2016-01-25 02:29:45 285A517A00000014 -22.5
27019 2016-01-25 02:34:47 285A517A00000014 -22.5
27021 2016-01-25 02:39:45 285A517A00000014 -22.5
27023 2016-01-25 02:44:51 285A517A00000014 -22.5
27025 2016-01-25 02:49:46 285A517A00000014 -22.5
27027 2016-01-25 02:54:46 285A517A00000014 -22.5
27029 2016-01-25 02:59:46 285A517A00000014 -23
27031 2016-01-25 03:04:46 285A517A00000014 -23
27033 2016-01-25 03:09:47 285A517A00000014 -23
27035 2016-01-25 03:14:46 285A517A00000014 -23
27037 2016-01-25 03:19:47 285A517A00000014 -23
27039 2016-01-25 03:24:47 285A517A00000014 -23
27041 2016-01-25 03:29:47 285A517A00000014 -23.5
27043 2016-01-25 03:34:47 285A517A00000014 -23
27045 2016-01-25 03:39:47 285A517A00000014 -23.5
27047 2016-01-25 03:44:47 285A517A00000014 -23.5
27049 2016-01-25 03:49:58 285A517A00000014 -23.5
27051 2016-01-25 03:54:48 285A517A00000014 -23.5
27053 2016-01-25 03:59:48 285A517A00000014 -24
27055 2016-01-25 04:04:48 285A517A00000014 -24
27057 2016-01-25 04:09:48 285A517A00000014 -24
27059 2016-01-25 04:14:51 285A517A00000014 -23.5
27061 2016-01-25 04:19:49 285A517A00000014 -23.5
27063 2016-01-25 04:24:53 285A517A00000014 -23.5
27065 2016-01-25 04:29:49 285A517A00000014 -23.5
27067 2016-01-25 04:34:49 285A517A00000014 -23.5
27069 2016-01-25 04:39:49 285A517A00000014 -23.5
27071 2016-01-25 04:44:50 285A517A00000014 -23.5
27073 2016-01-25 04:49:50 285A517A00000014 -23.5
27075 2016-01-25 04:54:49 285A517A00000014 -23
27077 2016-01-25 04:59:49 285A517A00000014 -23
27079 2016-01-25 05:04:50 285A517A00000014 -23
27081 2016-01-25 05:09:50 285A517A00000014 -22.5
27083 2016-01-25 05:14:50 285A517A00000014 -22.5
27085 2016-01-25 05:19:50 285A517A00000014 -22.5
27087 2016-01-25 05:24:50 285A517A00000014 -22.5
27089 2016-01-25 05:29:51 285A517A00000014 -22
27091 2016-01-25 05:34:51 285A517A00000014 -22
27093 2016-01-25 05:39:50 285A517A00000014 -22
27095 2016-01-25 05:44:51 285A517A00000014 -21.5
27097 2016-01-25 05:49:51 285A517A00000014 -21.5
27099 2016-01-25 05:54:51 285A517A00000014 -21
27101 2016-01-25 05:59:51 285A517A00000014 -21
27103 2016-01-25 06:04:51 285A517A00000014 -21
27105 2016-01-25 06:09:51 285A517A00000014 -21
27107 2016-01-25 06:14:51 285A517A00000014 -21
27109 2016-01-25 06:19:52 285A517A00000014 -20.5
27111 2016-01-25 06:24:52 285A517A00000014 -20.5
27113 2016-01-25 06:29:52 285A517A00000014 -20.5
27115 2016-01-25 06:34:52 285A517A00000014 -20.5
27117 2016-01-25 06:39:52 285A517A00000014 -20
27119 2016-01-25 06:44:53 285A517A00000014 -19.5
27121 2016-01-25 06:49:52 285A517A00000014 -19.5
27123 2016-01-25 06:54:53 285A517A00000014 -19.5
27125 2016-01-25 06:59:53 285A517A00000014 -19
27127 2016-01-25 07:04:53 285A517A00000014 -19
27129 2016-01-25 07:09:53 285A517A00000014 -19
27131 2016-01-25 07:14:54 285A517A00000014 -19
27133 2016-01-25 07:19:53 285A517A00000014 -18.5
27135 2016-01-25 07:24:53 285A517A00000014 -18.5
27137 2016-01-25 07:29:54 285A517A00000014 -19
27139 2016-01-25 07:34:54 285A517A00000014 -18.5
27141 2016-01-25 07:39:54 285A517A00000014 -18.5
27143 2016-01-25 07:44:55 285A517A00000014 -18.5
27145 2016-01-25 07:49:54 285A517A00000014 -18.5
27147 2016-01-25 07:54:56 285A517A00000014 -18.5
27149 2016-01-25 07:59:54 285A517A00000014 -19
27151 2016-01-25 08:04:56 285A517A00000014 -18.5
27153 2016-01-25 08:09:55 285A517A00000014 -18.5
27155 2016-01-25 08:14:55 285A517A00000014 -18.5
27157 2016-01-25 08:19:55 285A517A00000014 -18.5
27159 2016-01-25 08:24:57 285A517A00000014 -18.5
27161 2016-01-25 08:29:55 285A517A00000014 -18.5
27163 2016-01-25 08:34:56 285A517A00000014 -18.5
27165 2016-01-25 08:39:56 285A517A00000014 -18.5
27167 2016-01-25 08:44:56 285A517A00000014 -18.5
27169 2016-01-25 08:49:56 285A517A00000014 -18.5
27171 2016-01-25 08:54:56 285A517A00000014 -18.5
27173 2016-01-25 08:59:56 285A517A00000014 -18.5
27175 2016-01-25 09:04:56 285A517A00000014 -18.5
27177 2016-01-25 09:09:56 285A517A00000014 -18.5
27179 2016-01-25 09:14:56 285A517A00000014 -18.5
27181 2016-01-25 09:19:57 285A517A00000014 -18
27183 2016-01-25 09:24:57 285A517A00000014 -18
27185 2016-01-25 09:29:57 285A517A00000014 -17.5
27187 2016-01-25 09:34:57 285A517A00000014 -17.5
27189 2016-01-25 09:39:57 285A517A00000014 -17.5
27191 2016-01-25 09:44:57 285A517A00000014 -17
27193 2016-01-25 09:49:58 285A517A00000014 -17
27195 2016-01-25 09:54:59 285A517A00000014 -17
27197 2016-01-25 09:59:58 285A517A00000014 -17
27199 2016-01-25 10:04:58 285A517A00000014 -17
27201 2016-01-25 10:09:58 285A517A00000014 -17
27203 2016-01-25 10:14:58 285A517A00000014 -17
27205 2016-01-25 10:20:00 285A517A00000014 -17
27207 2016-01-25 10:24:59 285A517A00000014 -17
27209 2016-01-25 10:29:58 285A517A00000014 -17
27211 2016-01-25 10:34:58 285A517A00000014 -17
27213 2016-01-25 10:39:59 285A517A00000014 -17
27215 2016-01-25 10:44:59 285A517A00000014 -16.5
27217 2016-01-25 10:49:59 285A517A00000014 -16.5
27219 2016-01-25 10:55:00 285A517A00000014 -16.5


нужно сделать запрос что бы выборка выглядела следующим образом

26959 2016-01-25 00:04:41 285A517A00000014 -20
26971 2016-01-25 00:34:42 285A517A00000014 -20.5
26973 2016-01-25 00:39:42 285A517A00000014 -20
26975 2016-01-25 00:44:42 285A517A00000014 -20.5
26989 2016-01-25 01:19:43 285A517A00000014 -21
26997 2016-01-25 01:39:44 285A517A00000014 -21.5
27005 2016-01-25 01:59:44 285A517A00000014 -22
27017 2016-01-25 02:29:45 285A517A00000014 -22.5
27029 2016-01-25 02:59:46 285A517A00000014 -23
27041 2016-01-25 03:29:47 285A517A00000014 -23.5
27043 2016-01-25 03:34:47 285A517A00000014 -23
27045 2016-01-25 03:39:47 285A517A00000014 -23.5
27053 2016-01-25 03:59:48 285A517A00000014 -24
27059 2016-01-25 04:14:51 285A517A00000014 -23.5
27075 2016-01-25 04:54:49 285A517A00000014 -23
27081 2016-01-25 05:09:50 285A517A00000014 -22.5
27089 2016-01-25 05:29:51 285A517A00000014 -22
27095 2016-01-25 05:44:51 285A517A00000014 -21.5
27099 2016-01-25 05:54:51 285A517A00000014 -21
27109 2016-01-25 06:19:52 285A517A00000014 -20.5
27117 2016-01-25 06:39:52 285A517A00000014 -20
27119 2016-01-25 06:44:53 285A517A00000014 -19.5
27125 2016-01-25 06:59:53 285A517A00000014 -19
27133 2016-01-25 07:19:53 285A517A00000014 -18.5
27137 2016-01-25 07:29:54 285A517A00000014 -19
27139 2016-01-25 07:34:54 285A517A00000014 -18.5
27149 2016-01-25 07:59:54 285A517A00000014 -19
27151 2016-01-25 08:04:56 285A517A00000014 -18.5
27181 2016-01-25 09:19:57 285A517A00000014 -18
27185 2016-01-25 09:29:57 285A517A00000014 -17.5
27191 2016-01-25 09:44:57 285A517A00000014 -17
27215 2016-01-25 10:44:59 285A517A00000014 -16.5


т.е. выборка только изменившихся значений по сравнению с предыдущим значением sensorvalue
...
Рейтинг: 0 / 0
25.01.2016, 19:08:19
    #39154969
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
conect3,

Надо будет задать переменную которая будет
держать значение сенсора с предыдушей строчки.
Затем в порядке нарастания времени нужно будет:
проверить предыдушее значение (из переменной)
и если значения отличаются то присвоить некой колонке Х значение 1
иначе -- ноль.
затем переназначить значение переменный на значение из текушей строчки
...и перейти к следуюшей строчке.

после всего выбрать все строки со значением Х=1.
...
Рейтинг: 0 / 0
26.01.2016, 10:51:55
    #39155311
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
GROUP BY по значению темературы
...
Рейтинг: 0 / 0
26.01.2016, 10:52:35
    #39155312
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
bochkovGROUP BY по значению темературы
и по сенсору
...
Рейтинг: 0 / 0
26.01.2016, 10:53:25
    #39155315
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
bochkovbochkovGROUP BY по значению темературы
и по сенсору
хотя не, - только по значению
...
Рейтинг: 0 / 0
26.01.2016, 12:24:23
    #39155406
conect3
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
bochkov,

GROUP BY по значению температуры объединит
вот эти записи
26959 2016-01-25 00 :04:41 285A517A00000014 -20
26961 2016-01-25 00 :09:41 285A517A00000014 -20
26963 2016-01-25 00 :14:42 285A517A00000014 -20
26965 2016-01-25 00 :19:41 285A517A00000014 -20
26967 2016-01-25 00 :24:42 285A517A00000014 -20
26969 2016-01-25 00 :29:42 285A517A00000014 -20
26973 2016-01-25 00 :39:42 285A517A00000014 -20
27117 2016-01-25 06 :39:52 285A517A00000014 -20

а это неправильно

накопал вот такое решение
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT key, value
FROM tableX
    ( SELECT key, value,
             ROW_NUMBER() OVER (PARTITION BY key 
                                ORDER BY whatever)     --- ORDER BY NULL
               AS rn                                   --- for example
      FROM tableX
    ) tmp 
WHERE rn = 1 ;



но пока с ним не разобрался
...
Рейтинг: 0 / 0
26.01.2016, 12:27:43
    #39155413
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
conect3, и не разберётесь - в мускле нет оконных функций. Вот эту тему посмотрите.
...
Рейтинг: 0 / 0
26.01.2016, 13:48:53
    #39155523
bochkov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
Код: sql
1.
2.
3.
SELECT * FROM
(SELECT mt.*,mt.temp!=@prev as to_show,@prev:=mt.temp FROM mt,(SELECT @prev:=-1000) init) as t
WHERE to_show
...
Рейтинг: 0 / 0
26.01.2016, 14:53:12
    #39155629
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выборка из таблицы с температурой
bochkov
Код: sql
1.
2.
3.
SELECT * FROM
(SELECT mt.*,mt.temp!=@prev as to_show,@prev:=mt.temp FROM mt,(SELECT @prev:=-1000) init) as t
WHERE to_show



....ОРДЕР БУ по наростанию времени
надо добавить во внутренем селекте
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / выборка из таблицы с температурой / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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