台灣最大程式設計社群網站
線上人數
2580
 
會員總數:246574
討論主題:190030
歡迎您免費加入會員
討論區列表 >> MS SQL >> 請問高手...我這個問題除了用cursor外..還有沒有其他方法
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問高手...我這個問題除了用cursor外..還有沒有其他方法
價值 : 0 QP  點閱數:1391 回應數:3
樓主

小毓
初學者
466 138
240 91
發送站內信

編號   日期    .....其他的欄位
我要select出來.....編號相同的如果日期連續則取第一天...
比如
002   2002-1-1
002   2002-1-2
002   2002-1-3
002   2002-1-10
002   2002-1-15
003   2002-1-15

我要select出來的結果要項這樣...同樣編號連續日期取日期最小的
002   2002-1-1
002   2002-1-10
002   2002-1-15
003   2002-1-15 

我是想請問高手.....如果除了用cursor以外...有沒有其他方法....



本篇文章發表於2002-12-13 09:49
1樓
回應

joe
檢舉此回應
試看看!
select * from <table> group by 編號 order by 日期 desc
這樣讀出來的資料會是 
003   2002-1-15
002   2002-1-15
002   2002-1-10
002   2002-1-1
因為如果用 group 會取群組的最後一筆,所以加 ordry by 日期 desc
這樣就由日期大至小,所以取得的資料就會是同編號的最後一筆
再來由最後一筆開始顯示結果就如下
002   2002-1-1
002   2002-1-10
002   2002-1-15
003   2002-1-15 

本篇文章回覆於2002-12-13 13:06
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

阿利
捐贈 VP 給 阿利 檢舉此回應
這個問題不只要考慮 no 的群組問題 ,
連續區間也是另一個難題 ...
Plz Chk This Out ..:)
http://www.cu29.sytes.net/討論區/board/board_content.asp?&board_id=3&title_id=1503
本篇文章回覆於2002-12-13 13:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

hedy
檢舉此回應
select 編號, min(日期) 最小日期 from table group by 編號
就可以同一個編號只取出最小的日期來了

不過我是用oracle DB,但是SQL當中的理念應該相同
我試過access要這樣寫:
select 編號, min(日期) as 最小日期 from table group by 編號
本篇文章回覆於2002-12-15 00:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.