Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
18 / 18 / 11
Регистрация: 22.03.2011
Сообщений: 194

Оптимизация запроса, выдающего суточные показания на определённых датчиках (по recordID) в одной таблице

28.01.2014, 06:54. Показов 632. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть запрос на SQL, обращающийся к одной таблице
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SET dateformat dmy
DECLARE @dt datetime
SET @dt= getdate()
SELECT t1.dt1, t1.c125, t2.c129, t3.c133, t4.c137, t5.c185
FROM
(SELECT datepart(HOUR,dt) AS dt1, val AS c125
FROM std.dbo.test1dhour
WHERE (DAY(dt)=DAY(@dt)AND MONTH(dt)=MONTH(@dt)AND YEAR(dt)= YEAR(@dt) AND datepart(HOUR,dt)>0 OR dt=dateadd(DAY,1,@dt)) AND recordID=125) t1,
(SELECT datepart(HOUR,dt) AS dt1, val AS c129
FROM std.dbo.test1dhour
WHERE (DAY(dt)=DAY(@dt)AND MONTH(dt)=MONTH(@dt)AND YEAR(dt)= YEAR(@dt) AND datepart(HOUR,dt)>0 OR dt=dateadd(DAY,1,@dt)) AND recordID=129) t2,
(SELECT datepart(HOUR,dt) AS dt1, val AS c133
FROM std.dbo.test1dhour
WHERE (DAY(dt)=DAY(@dt)AND MONTH(dt)=MONTH(@dt)AND YEAR(dt)= YEAR(@dt) AND datepart(HOUR,dt)>0 OR dt=dateadd(DAY,1,@dt)) AND recordID=123) t3,
(SELECT datepart(HOUR,dt) AS dt1, val AS c137
FROM std.dbo.test1dhour
WHERE (DAY(dt)=DAY(@dt)AND MONTH(dt)=MONTH(@dt)AND YEAR(dt)= YEAR(@dt) AND datepart(HOUR,dt)>0 OR dt=dateadd(DAY,1,@dt)) AND recordID=137) t4,
(SELECT datepart(HOUR,dt) AS dt1, val AS c185
FROM std.dbo.test1dhour
WHERE (DAY(dt)=DAY(@dt)AND MONTH(dt)=MONTH(@dt)AND YEAR(dt)= YEAR(@dt) AND datepart(HOUR,dt)>0 OR dt=dateadd(DAY,1,@dt)) AND recordID=129) t5
WHERE t1.dt1=t2.dt1 AND t1.dt1=t3.dt1 AND t1.dt1=t4.dt1 AND t1.dt1=t5.dt1 
ORDER BY dt1
Как его можно оптимизировать, т.к. таких запросов несколько и кажутся они достаточно громоздкими для БД?

Добавлено через 19 часов 11 минут
Поясню:
У меня есть таблица test1dhour со столбцами dt (время), recordID (айди датчика) и val (значение с датчика).
Каждый час в 00 минут в неё кладутся показания с датчиков. Моя задача сделать запрос к этой таблице, выдающий суточные показания на определённых датчиках (по recordID) в одной таблице.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.01.2014, 06:54
Ответы с готовыми решениями:

Оптимизация запроса без Join в таблице с 4 млн записей
Добрый день, друзья. Прошу помощи в оптимизации следующего запроса. Упростил как мог, оставив только главные критерии. SELECT...

Два запроса в одной таблице
Здравствуйте помогите пожалуйста :) Имеются две таблицы (types) И таблица (prihod) Мне нужен такой вид $sql = mysql_query...

Два запроса к одной таблице
Здравствуйте.Есть запрос к трём таблицам одной базы mysql.Вот часть $sql = "SELECT m.*, u.id as user_id, u.nickname as author, ...

2
187 / 180 / 29
Регистрация: 26.05.2011
Сообщений: 856
28.01.2014, 07:32
что такое "суточные показания"?
0
18 / 18 / 11
Регистрация: 22.03.2011
Сообщений: 194
28.01.2014, 08:32  [ТС]
sks1904, столбец из 24х чисел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
28.01.2014, 08:32
Помогаю со студенческими работами здесь

Два запроса к одной таблице в одном
Здравствуйте. Имеется две таблицы: create table player ( id int identity(1, 1) primary key, login char(32), password char(32) ...

Отображение определенных филиалов для определенных пользователей в сводной таблице
Здравствуйте! Есть сводная таблица в которой есть колонка "Филиал". Мне нужно чтоб для определенных пользователей, в этой сводной,...

Оптимизация кода запроса, или как обойтись без запроса?
Здравствуйте! Решаю задачу по автоматизации отгрузки товаров. Надо для проведенным заказам определенного клиента создать реализации...

Запрос: приравнять значение в одной таблице значению в другой таблице
как можно осуществить запрос : приравнять значение одной таблицы значению в другой таблицы idn | name idf | fname

Обновить поле в одной таблице по совокупному значению других полей в другой таблице
Добрый день! Хотелось бы совета по следующей проблеме: Требуется обновить поле в одной таблице по совокупному значению других...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru