![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
rpv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Здравствуйте!
Помогите пожалуйста составить запрос. Есть таблица, где указано состояние приборов Поля: id - номер прибора status - состояние прибора statusdate - дата, когда изменилось состояние прибора То есть id может повторяться Нужно составить запрос, который возвратит состояние приборов на текущий момент. Мои мысли - сгруппировать приборы по id, посмотреть наибольшую дату изменения состояния прибора и на эту дату посмотреть состояние. Вот только такой запрос не могу придумать. |
|||
|
||||
Magnifico |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 1 Всего: 17 |
Добавлено через 13 минут и 34 секунды ой наврал блин! этот запрос получает значения каждого счетчика на последнюю(максимальную дату) но не на текущий момент (а если счетчик не работал минуту?) может так (сравнивать с текущим временем)
и гуппировка не нужна если запись добавлятся каждую секунду функция getdate() для sql server или аналогичная для других субд -------------------- Всё в порядке - спасибо зарядке ! |
||||
|
|||||
rpv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
To Magnifico:
Вас запрос возвращает всего одну строку. Может я мало информации дал... Таблица такого вида id status statusdate 1 1 2007-01-01 00:00:00.000 2 1 2007-01-01 00:00:00.000 2 2 2007-01-02 00:00:00.000 3 1 2007-01-01 00:00:00.000 4 1 2007-01-01 00:00:00.000 Как видно из таблицы, на приборе с id=2 01.01.2007 состояние равно 1, а на следующий день состояние изменилось на 2, то есть на текущий момент состояние равно 2. Мне нужно получить в результате запроса табличку вида: id status 1 1 2 2 3 1 4 1 Добавлено через 2 минуты и 26 секунд To Magnifico: Вас запрос возвращает всего одну строку. Может я мало информации дал... Таблица такого вида id status statusdate 1 1 2007-01-01 00:00:00.000 2 1 2007-01-01 00:00:00.000 2 2 2007-01-02 00:00:00.000 3 1 2007-01-01 00:00:00.000 4 1 2007-01-01 00:00:00.000 Как видно из таблицы, на приборе с id=2 01.01.2007 состояние равно 1, а на следующий день состояние изменилось на 2, то есть на текущий момент состояние равно 2. Мне нужно получить в результате запроса табличку вида: id status 1 1 2 2 3 1 4 1 |
|||
|
||||
Magnifico |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 1 Всего: 17 |
я думал речь на милисекунды идет ,что я у тебя монитор в реальном времени
а ту просто выборка на последнюю существующую дату для каждого id
-------------------- Всё в порядке - спасибо зарядке ! |
|||
|
||||
rpv |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 6.8.2007 Репутация: нет Всего: нет |
Спасибо!
Это сообщение отредактировал(а) rpv - 4.3.2008, 11:56 |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 7 Всего: 44 |
А что проще нельзя?
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
Magnifico |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 418 Регистрация: 23.1.2008 Где: Московская област ь Репутация: 1 Всего: 17 |
да проще но только в написании
добавим order by
план выплнения будет практчески одинаковый -------------------- Всё в порядке - спасибо зарядке ! |
|||
|
||||
Deniz |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 7 Всего: 44 |
Magnifico, проще не только в написании, но и в использовании.
У тебя использован T-SQL, который есть не везде ![]() -------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Общие вопросы по базам данных" | |
|
Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:
Данный форум не предназначен для:
Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение.
Полезные советы: Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | СУБД, общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |