久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

T-SQL - 獲取最近的日期和最近的未來日期

T-SQL - Getting most recent date and most recent future date(T-SQL - 獲取最近的日期和最近的未來日期)
本文介紹了T-SQL - 獲取最近的日期和最近的未來日期的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

假設下面的記錄表

ID    Name       AppointmentDate
--    --------   ---------------
1     Bob         1/1/2010
1     Bob         5/1/2010
2     Henry       5/1/2010
2     Henry       8/1/2011
3     John        8/1/2011
3     John       12/1/2011

我想按人檢索最近的約會日期.所以我需要一個查詢來提供以下結果集.

I want to retrieve the most recent appointment date by person. So I need a query that will give the following result set.

1   Bob    5/1/2010 (5/1/2010 is most recent)
2   Henry  8/1/2011 (8/1/2011 is most recent)
3   John   8/1/2011 (has 2 future dates but 8/1/2011 is most recent)

謝謝!

推薦答案

假設您說最近"的意思是最近",例如存儲的日期是距當前日期最少的天數,而我們不這樣做"不關心它是在當前日期之前還是之后",那么應該這樣做(可能需要進行瑣碎的調試):

Assuming that where you say "most recent" you mean "closest", as in "stored date is the fewest days away from the current date and we don't care if it's before or after the current date", then this should do it (trivial debugging might be required):

SELECT ID, Name, AppointmentDate
 from (select
           ID
          ,Name
          ,AppointmentDate
          ,row_number() over (partition by ID order by abs(datediff(dd, AppointmentDate, getdate()))) Ranking
         from MyTable) xx
 where Ranking = 1

這使用 SQL 2005 及更高版本的 row_number() 函數.子查詢根據規范對數據進行排序",主查詢選擇最合適的.

This usese the row_number() function from SQL 2005 and up. The subquery "orders" the data as per the specifications, and the main query picks the best fit.

還要注意:

  • 搜索基于當前日期
  • 我們只計算天數差異,忽略時間(小時、分鐘等)
  • 如果兩天是等距的(比如之前 2 天和之后 2 天),我們隨機選擇一個

所有這些都可以根據您的最終要求進行調整.

All of which could be adjusted based on your final requirements.

這篇關于T-SQL - 獲取最近的日期和最近的未來日期的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Converting Every Child Tags in to a Single Column with multiple Delimiters -SQL Server (3)(將每個子標記轉換為具有多個分隔符的單列-SQL Server (3))
How can I create a view from more than one table?(如何從多個表創建視圖?)
Create calculated value based on calculated value inside previous row(根據前一行內的計算值創建計算值)
How do I stack the first two columns of a table into a single column, but also pair third column with the first column only?(如何將表格的前兩列堆疊成一列,但也僅將第三列與第一列配對?) - IT屋-程序員軟件開發技
Recursive t-sql query(遞歸 t-sql 查詢)
Convert Month Name to Date / Month Number (Combinations of Questions amp; Answers)(將月份名稱轉換為日期/月份編號(問題和答案的組合))
主站蜘蛛池模板: 一级网站 | 在线免费观看黄色 | 久久久久久久91 | 亚洲精品一区二区三区 | 午夜av影院| 亚洲成人在线免费 | 91在线精品一区二区 | 国产成人叼嘿视频在线观看 | www.97zyz.com | 午夜av一区二区 | 亚洲精品一二三 | www..com18午夜观看 | 亚洲国产精品一区二区久久 | 精品一二三区在线观看 | 国产日韩欧美激情 | 久久婷婷香蕉热狠狠综合 | 欧美久操网 | 国产成人精品综合 | 欧美日韩中 | 青青草一区二区 | 高清欧美性猛交 | 黄色三级免费 | 色黄爽| 久久中文字幕一区 | 成人午夜免费网站 | 欧美性jizz18性欧美 | 国产四虎 | 九九九国产 | 亚洲一区二区三区桃乃木香奈 | 日一日操一操 | 欧美freesex黑人又粗又大 | 一区二区三区四区日韩 | 精品国产乱码久久久久久久久 | 精品自拍视频在线观看 | 欧美色综合天天久久综合精品 | 天天狠狠| 欧美精品1区2区3区 精品国产欧美一区二区 | 亚洲精品美女视频 | 日韩av免费在线观看 | 日韩一级欧美一级 | 午夜影院黄|