sql - 选择按 id 排序的唯一行
问题描述
我有两张桌子
表 A
+-----+---------+---------+
| pid | name | country |
+-----+---------+---------+
| 1 | ABC | XXXXXXX |
| 2 | EFG | YYYYYYY |
| 3 | IJK | ZZZZZZZ |
| 4 | LMN | AAAAAAA |
| 5 | OPQ | BBBBBBB |
| 6 | RST | CCCCCCC |
+-----+---------+---------+
表 B
+-----+---------+
| id | pid |
+-----+---------+
| 5 | 5 |
| 4 | 1 |
| 3 | 2 |
| 2 | 5 |
| 1 | 2 |
+-----+---------+
我想要下面的输出
+-----+---------+---------+
| pid | name | country |
+-----+---------+---------+
| 5 | OPQ | BBBBBBB |
| 1 | ABC | XXXXXXX |
| 2 | EFG | YYYYYYY |
+-----+---------+---------+
也就是说,输出应该得到表 B id 字段的最新条目,表 A 的数据应该显示在表 B 中出现的 pid 序列上
解决方案
尝试这个:
SELECT DISTINCT A.PID, A.NAME, A.COUNTRY
FROM TABLE_A A
INNER JOIN TABLE_B B
ON A.PID = B.PID
ORDER BY A.PID
推荐阅读
- javascript - 如何使用 javascripts 在 API 中获取主键
- neo4j - neo4j cypher 将数组/列表转换为字符串
- powerbi - PowerBI 增量刷新参数
- paypal - PayPal IPN,如何从下拉菜单中选择价格
- python - 如何使用循环(任何)将方程的输出放在同一个方程中并为python中的特定值集获取新值?
- google-cloud-platform - 在 GCP 中访问 GPU
- c - 使用 fork() 显示进程树
- ios - Testflight 邀请不会发送给内部测试人员
- windows - 由于 Windows 10 上的 Gtk 导致 VS Code 的迟缓
- javascript - 在 Discord 中,是否可以通过控制台更改您的头像?