Узнайте старую дату из столбца даты в sql - PullRequest
1 голос
/ 28 декабря 2011

Как найти самые старые значения из столбца datetime?

У меня есть таблица со столбцом datetime (UpdateDate), и мне нужно найти самые старые данные на основе UpdateDate.

Id     UpdateDate                   Desc
-----------------------------------------
1    2010-06-15 00:00:00.000       aaaaa
2    2009-03-22 00:00:00.000       bbbbb
3    2008-01-12 00:00:00.000       ccccc
4    2008-02-12 00:00:00.000       ddddd 
5    2009-04-03 00:00:00.000       eeeee
6    2010-06-12 00:00:00.000       fffff

У меня есть Узнайте даты старого года с текущей даты, используя Select UpdateDate from Table1 where DATEDIFF(YEAR,UpdateDate,getdate()) > 0 Запрос.Но мне нужно узнать только данные за 2008-й (поскольку 2008 год здесь самый старый), я не знаю, что там в Таблице, мне нужно найти самые старые значения даты. Как это возможно?

Ответы [ 4 ]

3 голосов
/ 28 декабря 2011
Select UpdateDate from Table1 where DATEDIFF(YEAR,PartDateCol,getdate()) IN
(Select MAX(DATEDIFF(YEAR,PartDateCol,GETDATE())) DiffYear from Table1)

Это вернет две записи за 2008 год. Если в ваших записях указано четыре даты 2006 года, тогда будут возвращены все данные за 2006 год, если разница велика.

0 голосов
/ 28 декабря 2011

Вы можете использовать top и заказ по .

select top(1) UpdateDate
from Table1
order by UpdateDate

Обновление:

Если вы хотите всевместо строк для первого года вы можете использовать это.

select *
from (
      select *,
             rank() over(order by year(UpdateDate)) as rn
      from Table1
     ) as T
where T.rn = 1
0 голосов
/ 28 декабря 2011

Один из способов сделать это -

Select UpdateDate from Table1 where YEAR(UpdateDate )=2008

Но вы можете узнать самые старые даты, упорядочив данные как таковые

Select * from Table1 order by UpdateDate ASC

0 голосов
/ 28 декабря 2011

Если вы хотите данные, которые в течение 2008 года попробуйте это:

Select UpdateDate From Table1 
Where Year(UpdateDate) = 
(
   Select Year(UpdateDate) 
   from Table1 Order By UpdateDate ASC Limit 1
) ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...