鍍金池/ 問答/數(shù)據(jù)庫/ 先分組連表還是先連表分組

先分組連表還是先連表分組

兩個表A,B。
A:

bid  created_at 
1    2017-06-18 10:00:00 
1    2017-06-18 11:00:20
2    2017-06-18 10:00:30 
2    2017-06-18 11:00:30

B:

id name
1  HH
2  YY

現(xiàn)在要查詢出結(jié)果:

bid  created_at            name
1    2017-06-18 11:00:20   HH
2    2017-06-18 11:00:30   YY 

問題:
是先排序分組A獲取最新的數(shù)據(jù)再去join B表,還是先join B表排序再去分組?
如果數(shù)據(jù)很多的話又怎么選擇?
或者有其它更好的辦法

回答
編輯回答
雨蝶

為何不在b表增加一個max_created_at字段

2018年3月15日 12:18
編輯回答
忠妾
select * from B
join A on B.id=A.bid and not exists(select 1 from A as a2 where a2.bid=A.bid and a2.created_at>A.created_at)

join A的時候加個額外條件,不存在一條比當(dāng)前的A時間更大的,那么當(dāng)前這條的時間就是最大的那一條。

2018年6月20日 02:52