有這個MySQL查詢MySQL查詢設計需要幫助
SELECT CE.codreg, CO.id FROM table1 CE left join table2 CO ON CE.codreg=CO.registro ORDER BY CE.codreg ASC
我的問題是,表2中可以有一個CE.codreg多個行和需要選擇只有具有最大CO.id的一個此行CE.codreg
我該怎麼辦?
有這個MySQL查詢MySQL查詢設計需要幫助
SELECT CE.codreg, CO.id FROM table1 CE left join table2 CO ON CE.codreg=CO.registro ORDER BY CE.codreg ASC
我的問題是,表2中可以有一個CE.codreg多個行和需要選擇只有具有最大CO.id的一個此行CE.codreg
我該怎麼辦?
試試這個:
SELECT CE.codreg, CO.id
FROM table1 CE left join table2 CO ON CE.codreg=CO.registro
where CO.id=(select max(I.id) from table2 I where I.registro=CO.registro)
ORDER BY CE.codreg ASC
EDIT1
,如果你想行試試這個從表1即使在表2
SELECT CE.codreg, (select max(I.id) from table2 I where I.registro=CO.registro)
FROM table1 CE left join table2 CO ON CE.codreg=CO.registro
ORDER BY CE.codreg ASC
EDIT2
沒有記錄Edit1將爲每個記錄返回行table2,以避免這是另一種選擇。
select CE.codreg, (select max(I.id) from table2 I where I.registro=CE.registro)
FROM table1 CE
ORDER BY CE.codreg ASC
EDIT3
試試這個:
select SELECT CE.codreg, CO.*
FROM table1 CE left join (select * from table2 I where I.id=(select max(I2.id) from table2 I2 where I2.registro=I.registro)) CO ON CE.codreg=CO.registro
ORDER BY CE.codreg ASC
看,這個問題是問,每天十幾次。它有點無聊。 – Strawberry
看看我對Bushan評論的最後回覆。 ;) – Hanzo
是的,Bhushan也會很好地閱讀一些最近的類似帖子! – Strawberry