亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

重復記錄的取最新一筆

標簽:
JavaScript

一位网友在Insus.NET下班时问及一个SQL问题,他有如下一些记录:

S_NUMBER       P_NO     UPDATE_TIME
Y1202022524   E3465   2012-02-05 16:32:16.000
Y1202022524   E0035   2012-01-16 05:38:41.000
Y1202022525   E0036   2012-01-17 05:38:41.000
Y1202022526   E0037   2012-01-18 05:38:41.000
Y1202022527   E0038   2012-01-19 05:38:41.000
Y1202022528   E0039   2012-01-20 05:38:41.000
Y1202022529   E0040   2012-01-21 05:38:41.000

 

要SELECT所有记录,过滤所有重复[S_NUMBER]的记录,只取[UPDATE_TIME]最新的一笔。

下面是Insus.NET帮他解决的方法与过程:

创建一个临时表#Data

CREATE TABLE [#Datas]
(
    S_NUMBER NVARCHAR(30),
    P_NO NVARCHAR(30),
    UPDATE_TIME DATETIME
)

 

把数据插入这个临时表中:

5acf07280001405b00110016.jpgView Code INSERT INTO [#Datas] VALUES 
('Y1202022524', 'E3465', '2012/02/05 16:32:16'),
('Y1202022524', 'E0035', '2012/01/16 05:38:41'),
('Y1202022525', 'E0036', '2012/01/17 05:38:41'),
('Y1202022526', 'E0037', '2012/01/18 05:38:41'),
('Y1202022527', 'E0038', '2012/01/19 05:38:41'),
('Y1202022528', 'E0039', '2012/01/20 05:38:41'),
('Y1202022529', 'E0040', '2012/01/21 05:38:41')

GO

 

下面SELECT是在MS SQL Server 2008 R2查询分析器实现:

5acf07280001405b00110016.jpgView Code WITH it([S_NUMBER],[UPDATE_TIME])
AS
(
    SELECT [S_NUMBER],MAX([UPDATE_TIME]) FROM [dbo].[#Datas] GROUP BY [S_NUMBER]    
)
SELECT DISTINCT d.[S_NUMBER],[P_NO],d.[UPDATE_TIME] 
FROM [dbo].[#Datas] AS d 
INNER JOIN it
 ON (d.[S_NUMBER] = it.[S_NUMBER] and d.[UPDATE_TIME] = it.[UPDATE_TIME]);

 

执行结果:

 

 

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
移動開發工程師
手記
粉絲
18
獲贊與收藏
136

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消