sql server выберите минимальное значение из сопоставления даты и времени

SELECT Id, Value, Sender, Recipient, MIN(DateTime), TypeOf, VideoId, Likes, Comments FROM xx.dbo.StreamView WHERE StreamView.TypeOf = 3 AND StreamView.[DateTime] >= "Some DateTime Value Here" 

Я пытаюсь получить самую последнюю запись, которая была бы более новой, чем данное значение DateTime .

при выполнении этого запроса я получаю следующую ошибку:

 Msg 207, Level 16, State 1, Line 1 Invalid column name 'Some DateTime Value Here'. 

Кроме того, при удалении этой строки AND StreamView.[DateTime] >= "Some DateTime Value Here"

Я осознаю:

Msg 8120, уровень 16, состояние 1, строка 1 Столбец «xx.dbo.StreamView.Id» недопустим в списке выбора, потому что он не содержится ни в агрегатной функции, ни в предложении GROUP BY.

Предложения? Благодарю.

Обновить

 WITH sequenced_records AS ( SELECT ROW_NUMBER() OVER (ORDER BY [DateTime] DESC) AS sequence_id, * FROM xx.dbo.StreamView WHERE StreamView.TypeOf = 3 AND StreamView.[DateTime] >= "2011-12-29 01:38:21.607" ) SELECT * FROM sequenced_records WHERE sequence_id = 1 

return -> Msg 207, Level 16, State 1, Line 11 Недопустимое имя столбца '2011-12-29 01: 38: 21.607'.

Обновление 2

ребятам, мне нужно вернуть только SINGLE-запись с минимальным количеством времени в группе выбранных элементов, превышающих заданное время.

MIN () является совокупностью, и, как говорит ошибка; вы должны использовать GROUP BY для использования агрегированных запросов. Это означает, что вы не можете получить MIN () группы и одновременно иметь отдельные значения из одной записи в группе.

Есть две альтернативы …
– Используйте GROUP BY, чтобы получить MIN (), а затем используйте это для поиска записи, которую он соответствует.
– Используйте альтернативный подход, например ROW_NUMBER ()

 WITH sequenced_records AS ( SELECT ROW_NUMBER() OVER (ORDER BY [DateTime] ASC) AS sequence_id, * FROM xx.dbo.StreamView WHERE StreamView.TypeOf = 3 AND StreamView.[DateTime] >= "Some DateTime Value Here" ) SELECT * FROM sequenced_records WHERE sequence_id = 1 

ПРИМЕЧАНИЕ. Вам нужно настоящее время datetime, например «01012012 23:34»

Для сред без ROW_NUMBER () вы вернетесь к совокупному подходу, используя два шага. Такие как…

 SELECT * FROM StreamView WHEREE TypeOf = 3 AND DateTime = (SELECT MIN(DateTime) FROM StreamView WHERE TypeOf = 3 AND DateTime >= '01012012 23:34') 

Если вы собираетесь использовать агрегатную функцию типа MIN() , вам необходимо сгруппировать столбцы без агрегата, используя предложение GROUP BY .

См. http://msdn.microsoft.com/en-us/library/ms177673.aspx

Вам также необходимо заменить двойные кавычки в "Some DateTime Value Here" с одинарными кавычками.

Попробуйте этот код:

 SELECT Id, Value, Sender, Recipient, MIN([DateTime]), TypeOf, VideoId, Likes, Comments FROM xx.dbo.StreamView WHERE StreamView.TypeOf = 3 AND StreamView.[DateTime] >= '1/1/2012' GROUP BY Id, Value, Sender, Recipient, TypeOf, VideoId, Likes, Comments 

По обновленному вопросу:

 DECLARE @Date DATETIME = ( SELECT MIN( [DateTime] ) FROM xx.dbo.StreamView WHERE TypeOf = 3 AND [DateTime] >= '1/1/2012' ); SELECT TOP 1 * FROM xx.dbo.StreamView WHERE [DateTime] >= @Date; 

Вместо этого вы можете использовать дополнительный запрос:

 SELECT Id, Value, Sender, Recipient, DateTime, TypeOf, VideoId, Likes, Comments FROM xx.dbo.StreamView WHERE StreamView.TypeOf = 3 AND StreamView.[DateTime] = (Select MIN(DateTime) from xx.dbo.StreamView where [DateTime] >= 'Some DateTime Value Here' AND TypeOf = 3) 
  • Подзапросы в этом контексте не допускаются. Разрешены только скалярные выражения
  • сеанс asp.net с использованием режима sql-сервера
  • Вставить массив байтов в SQL Server из C # и как его получить
  • Как проверить, запущен ли агент SQL Server
  • Error Object refrence не установлен в экземпляр, если страница открыта более нескольких минут
  • Что может быть хорошим способом развертывания веб-приложений ASP.Net?
  • Есть ли переключатель, чтобы получить значения по умолчанию для полей таблицы SQL Server в качестве значений по умолчанию для TextBoxes FormView / DetailsView?
  • Мне нужны права SQL Server db_ddladmin для первого подхода к платформе Entity Framework, и это проблема безопасности?
  • Как читать все данные из json-массива и назначать его в подразделении SQL Server IN
  • Получение данных из хранимой процедуры с помощью Entity Framework
  • Каков самый быстрый способ чтения данных SQL (миллионы записей) из базы данных SQLite C # Service Stack
  • Interesting Posts

    Настройка и сброс DATEFORMAT в SQL Server 2005

    разные оценочные строки при работе с одним индексом?

    Неправильный синтаксис рядом с «AvayaSBCCRT»

    Список значений по умолчанию для SQL Server

    SQL BETWEEN не работает должным образом

    Как выполнить поиск по времени в sql-сервере?

    Серверные триггеры Sql

    Как присоединиться к столбцу псевдонима в SQL Server?

    Может ли серверные запросы sql быть действительно отменены / убиты?

    Обновление / создание строк в таблице SQL Server на основе данных из другой таблицы

    Когда следует использовать автоматическое сжатие в файлах журналов в SQL Server?

    Как экспортировать / генерировать данные без копирования первичного ключа?

    Выражения SSIS с использованием ODBC

    Сохраненная процедура не возвращает ни одной строки, но тот же запрос возвращает правильные данные

    Вставить в одну таблицу, получить идентификатор и вставить в другую таблицу

    Давайте будем гением компьютера.