2015-06-07 1 views
0

У меня есть таблица со 100 000 записей. Я хочу вернуть строку с самым последним низким значением определенного поля из последних 100 записей.Выберите последнюю строку с минимальным значением из последних 100 строк в таблице sql

SELECT * From streamer.dbo.AAPL_OHLC where Low = 
    (select min(Low) FROM streamer.dbo.AAPL_OHLC) 

Возвращает ряд (ы) с наименьшим значением в столбце «Низкий» во всей таблице. Но мне нужно вернуть только последнюю строку из последних 100 вставленных строк моей таблицы. Скорость - проблема.

ответ

1
SELECT top 1 * 
From (select Top 100 * from streamer.dbo.AAPL_OHLC order by OHLCid desc) as x 
where Low = 
(select min(Low) FROM (select Top 100 * from streamer.dbo.AAPL_OHLC order by OHLCid desc) as temp) 

Это предполагает, что есть авто приращения столбца с именем ID, если не вы будете нуждаться в каком-то дате столбца, чтобы определить, какие строки пришли первые.

+0

исправлено, ему нужно имя псевдонима для вспомогательного запроса –

+0

Итак, вы хотите вернуть только одну строку? –

+0

см. Внесенные изменения, которые возвратят самую последнюю строку из 100 последних строк с наименьшим значением «Низкий» из всей таблицы. –

Смежные вопросы