Nic*_*own 2 sql join filter left-join
目前我正在两个表上执行左连接.第一个表有一个id和一个人名,第二个表有一个id,一个人的id来自表1,然后是一个时间戳(他们最后一次飞行).
People Flights
id | name id | person_id | time
------------ ---------------------------
1 Dave 1 1 1284762115
2 Becky 2 1 1284787352
3 2 1284772629
4 2 1286432934
5 1 1289239480
Run Code Online (Sandbox Code Playgroud)
当我执行左连接时,我会得到一个人员列表和他们的航班时间,但我想要的只是他们上次航班时间的人员列表.
所以SELECT p.id,p.name,f.time FROM People p LEFT JOIN Flights f ON p.id = f.person_id
返回
1 Dave 1284762115
1 Dave 1284787352
1 Dave 1289239480
2 Becky 1284772629
2 Becky 1286432934
Run Code Online (Sandbox Code Playgroud)
我想看到:
1 Dave 1289239480
2 Becky 1286432934
Run Code Online (Sandbox Code Playgroud)
所以我只需要返回最高f.id或最高f.time的匹配
SELECT
p.id, p.name, MAX(f.time) AS LastFlight
FROM
People p
LEFT JOIN Flights f ON p.id = f.person_id
GROUP BY
p.id, p.name
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1474 次 |
| 最近记录: |