Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос в запросе?  [new]
Evgeniya_1991
Member

Откуда:
Сообщений: 3
Доброго дня, уважаемые форумчане. Вопрос возник в MS SQL, я полнейший нолик, необходимо выполнить простейший на мой взгляд запрос:
Существует табличка Tab1:
Дата |Показание1|Показание2|Показание3|
12.12.2015 100 300 345

Я выбираю из нее последние по дате 80 строк-это просто, но как сделать что бы из этих 80 строк, самых ранних по дате, в столбцах Показание1 и Показание 2 в верхних строчках стояли наименьшие значения И именно из этих 80 строк уже отсортированных по дате.
Кто сможет помочь мне в столь муторных для меня делишках особо не напрягая извилины?
24 июн 15, 10:28    [17809943]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в запросе?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Evgeniya_1991, при отсутствии запроса, который вы уже сделали, ответ такой - делайте подзапрос - во внутреннем запросе выбираете 80 строк, во внешнем - делаете группировку с использованием агрегатной функции MIN() для столбцов Показание1 и Показание 2.
24 июн 15, 10:52    [17810095]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в запросе?  [new]
Evgeniya_1991
Member

Откуда:
Сообщений: 3
Minamoto,

/*** Сам запрос


SELECT TOP 7 [ДатаВремя]
,[Mтс2]

FROM [Chet_2015].[dbo].[Часовая_103408_ТСРВ024М] order by [ДатаВремя] desc





/*** результат



ДатаВремя........................Mтс2
2015-06-24 04:00:00.000 0,1366571
2015-06-24 03:00:00.000 0,03518525
2015-06-24 02:00:00.000 0,1008632
2015-06-24 01:00:00.000 0,08207062
2015-06-24 00:00:00.000 0,279016
2015-06-23 23:00:00.000 0,6680979
2015-06-23 22:00:00.000 0,6335283


/*** желаемый результат

ДатаВремя.........................Mтс2
2015-06-24 03:00:00.000 0,03518525
2015-06-24 01:00:00.000 0,08207062
2015-06-24 02:00:00.000 0,1008632
2015-06-24 04:00:00.000 0,1366571
2015-06-24 00:00:00.000 0,279016
2015-06-23 22:00:00.000 0,6335283
2015-06-23 23:00:00.000 0,6680979

вижу что нужно добавить мелочь, но говорю полный ноль, вот и прошу у уважаемых помощи) в общем сделать сортировку из уже от сортированного.
24 июн 15, 12:21    [17810663]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в запросе?  [new]
o-o
Guest
просто отсортировать результат по нужным столбцам?
declare @t table (dt datetime, val decimal(20,10));

insert @t values
('2015-06-24 04:00:00.000', 0.1366571),
('2015-06-24 03:00:00.000', 0.03518525),
('2015-06-24 02:00:00.000', 0.1008632),
('2015-06-24 01:00:00.000', 0.08207062),
('2015-06-24 00:00:00.000', 0.279016),
('2015-06-23 23:00:00.000', 0.6680979),
('2015-06-23 22:00:00.000', 0.6335283),
('2013-01-01 22:00:00.000', 13),
('2014-01-01 22:00:00.000', 14)

select * from
(
select top 7 *
from @t 
order by dt desc
)t
order by val 
----
dt	val
2015-06-24 03:00:00.000	0.0351852500
2015-06-24 01:00:00.000	0.0820706200
2015-06-24 02:00:00.000	0.1008632000
2015-06-24 04:00:00.000	0.1366571000
2015-06-24 00:00:00.000	0.2790160000
2015-06-23 22:00:00.000	0.6335283000
2015-06-23 23:00:00.000	0.6680979000
24 июн 15, 12:37    [17810734]     Ответить | Цитировать Сообщить модератору
 Re: Запрос в запросе?  [new]
Evgeniya_1991
Member

Откуда:
Сообщений: 3
o-o,

Да да да )) спасибо большущее работает)
24 июн 15, 15:43    [17811887]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить