第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

從數(shù)據(jù)庫中檢索每個(gè)組中的最后記錄-SQLServer 2005/2008

從數(shù)據(jù)庫中檢索每個(gè)組中的最后記錄-SQLServer 2005/2008

叮當(dāng)貓咪 2019-07-20 14:49:08
從數(shù)據(jù)庫中檢索每個(gè)組中的最后記錄-SQLServer 2005/2008我做了一些苦差事,似乎得不到我想要的結(jié)果?;旧希覀冊谡麄€(gè)公司都有四個(gè)不同的管理系統(tǒng),我正在定期合并來自每個(gè)系統(tǒng)的所有數(shù)據(jù)。我的目標(biāo)是每小時(shí)更新數(shù)據(jù)到一個(gè)中央數(shù)據(jù)庫。下面是我正在使用的一個(gè)示例數(shù)據(jù)集:COMPUTERNAME | SERIALNUMBER | USERNAME | LASTIP | LASTUPDATE | SOURCE TEST1 | 1111 | BOB | 1.1.1.1 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1 TEST1 | 1111 | BOB | 1.1.1.1 | 1/18/2011 01:00:00 | MGMT_SYSTEM_2 TEST1 | 1111 | PETER | 1.1.1.11 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3 TEST2 | 2222 | GEORGE | 1.1.1.2 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1 TEST3 | 3333 | TOM | 1.1.1.3 | 1/19/2011 01:00:00 | MGMT_SYSTEM_2 TEST4 | 4444 | MIKE   | 1.1.1.4 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1 TEST4 | 4444 | MIKE   | 1.1.1.41 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3 TEST5 | 5555 | SUSIE  | 1.1.1.5 | 1/19/2011 01:00:00 | MGMT_SYSTEM_1因此,我想查詢這個(gè)主表,并且只檢索最新的記錄(基于LASTUPDATE),這樣我就可以獲得關(guān)于該系統(tǒng)的最新信息。問題是,每個(gè)數(shù)據(jù)庫中可能都有一個(gè)系統(tǒng),但它們當(dāng)然永遠(yuǎn)不會有相同的確切更新時(shí)間。我希望能得到這樣的東西:TEST1 | 1111 | PETER | 1.1.1.11 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3 TEST2 | 2222 | GEORGE | 1.1.1.2 | 1/17/2011 01:00:00 | MGMT_SYSTEM_1 TEST3 | 3333 | TOM | 1.1.1.3 | 1/19/2011 01:00:00 | MGMT_SYSTEM_2 TEST4 | 4444 | MIKE   | 1.1.1.41 | 1/19/2011 01:00:00 | MGMT_SYSTEM_3 TEST5 | 5555 | SUSIE  | 1.1.1.5 | 1/19/2011 01:00:00 | MGMT_SYSTEM_1我試過使用MAX函數(shù),但是我只能檢索一個(gè)列。我不能在子查詢中使用這一點(diǎn),因?yàn)槲覜]有一個(gè)唯一的ID字段,可以為我提供最后更新的記錄。其中一個(gè)系統(tǒng)是MySQL數(shù)據(jù)庫,MySQL中的MAX函數(shù)實(shí)際上按照我需要的方式工作,每個(gè)組只返回一條記錄,但它在SQLServer中不起作用。我認(rèn)為我需要使用MAX和左加入,但我的嘗試到目前為止都失敗了。你的幫助將不勝感激。在過去的3-4個(gè)小時(shí)里,我一直在絞盡腦汁想得到一個(gè)有用的查詢。此主表位于SQLServer 2005服務(wù)器上。謝謝!
查看完整描述

3 回答

?
手掌心

TA貢獻(xiàn)1942條經(jīng)驗(yàn) 獲得超3個(gè)贊

;with cteRowNumber as (
    select COMPUTERNAME, SERIALNUMBER, USERNAME, LASTIP, LASTUPDATE, SOURCE,
           row_number() over(partition by COMPUTERNAME order by LASTUPDATE desc) as RowNum     
              from YourTable)select COMPUTERNAME, SERIALNUMBER, USERNAME, LASTIP, LASTUPDATE, SOURCE  
                from cteRowNumber    where RowNum = 1


查看完整回答
反對 回復(fù) 2019-07-20
?
慕的地8271018

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊

在SQLServer中,最具表現(xiàn)力的解決方案通常是關(guān)聯(lián)子查詢:

select t.*from twhere t.lastupdate = (select max(t2.lastupdate)
                      from t t2                   
                         where t2.computername = t.computername       
                                       );

尤其是,這可以利用(computername, lastupdate)..從概念上講,這比row_number()因?yàn)檫@個(gè)查詢只是過濾掉不匹配的行。這個(gè)row_number()版本需要將行號附加到所有行,然后再進(jìn)行篩選-這是更多的數(shù)據(jù)處理。


查看完整回答
反對 回復(fù) 2019-07-20
  • 3 回答
  • 0 關(guān)注
  • 436 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號