台灣最大程式設計社群網站
線上人數
1426
 
會員總數:244807
討論主題:188842
歡迎您免費加入會員
討論區列表 >> MS SQL >> 如何同時使用distinct 和 order by
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何同時使用distinct 和 order by
價值 : 20 QP  點閱數:4460 回應數:5

樓主

helloeveryone
門外漢
0 30
432 30
發送站內信

有一table欄位有
pk id name update_time
1 1 aa 2010/3/1
2 1 bb 2010/3/2
3 2 cc 2010/3/3
4 2 dd 2010/3/4

我要找出
pk id name updat_time
1 1 aa 2010/3/1
3 2 cc 2010/3/3

我用select distinct(id) from table order by update_time
這樣不行
但我又不能用
select distinct(id),update_time from table order by update_time
這樣找出來的又等於沒篩選
請問有什麼辦法


本篇文章發表於2010-03-12 16:58
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

萊德熊
檢舉此回應
方式如下:

1 aa 2010/3/1
2 cc 2010/3/3
本篇文章回覆於2010-03-12 21:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

helloeveryone
檢舉此回應
當我的更新時間如果有一模一樣的時間
取出來的id直就會重複
這樣就不對了
本篇文章回覆於2010-03-14 18:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

萊德熊
檢舉此回應
你要說清楚你想要的結果是如何...... 我只是依你想要的結果下條件的
多幾筆資料 想要的結果要清楚點喔.....
本篇文章回覆於2010-03-15 01:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

nickcat
檢舉此回應
萊得熊的答案完全正確啊,join小調成 right join就可以啦
本篇文章回覆於2010-03-25 00:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

johnson
檢舉此回應
select * from
(select id,min(update_time) as update_time from #t1 group by id) as a
left join #t1 as b on a.id=b.id and a.update_time=b.update_time
本篇文章回覆於2010-05-07 22:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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