2013-01-13 56 views
-1

表 - 表1MySQL的 - 選擇基於使用最新的日期從表NID加入

表1
- 包含字段 - (NID,日期,簡檔)
- 包含數據(1,2012-12-1 ,12),(2,2013-5-12,12),(3,2012-10-10,13),(4,2013-1-20,13)

預期輸出 - 選擇基於每個配置文件ID的最新日期

我無法根據最新日期從表中選擇nid根據profileid

+0

護理明確加上預計輸出給定的例子? – Srinivas

+0

預期輸出:12 2,13 4 – arun

回答

0

你的意思是? 通過簡檔

+1

是的,但從上面的查詢我得到最新的日期,但不是正確的nid –

+0

是的。我認爲@ ethorn10給你正確的答案:) –

2

選擇從表1組NID,最大(日期),我相信你想是這樣的:

select 
    nid, 
    profileid 
from Table1 
group by profileid 
having max(`date`) 

稍微更準確的方法是使用一個派生表,讓您最大的日期,加入回所需的表:

select 
    Table1.nid, 
    Table1.profileid 
from Table1 
inner join (select profileid, 
      max(date) as maxdate 
      from Table1 
      group by profileid) derived on Table1.date = derived.maxdate 
            and Table1.profileid = derived.profileid 

SQL FIDDLE DEMO

+0

我已經嘗試過這個查詢,但它沒有給我最新的日期我的文章的最新日期是2013年,但這個查詢給我2012年的結果。 –

+0

@akashbhawra我的更新應該解決這個問題 – ethorn10