【发布时间】:2021-04-01 07:21:11
【问题描述】:
有2张桌子:
表1:
id |phone| order|
---|-----|------|
1 | 122 | 6 |
2 | 122 | 4 |
3 | 122 | 3 |
4 | 123 | 6 |
5 | 123 | 5 |
6 | 123 | 3 |
7 | 124 | 6 |
8 | 124 | 5 |
9 | 125 | 6 |
10| 125 | 5 |
表2:
|phone |
|------|
|122 |
|123 |
|124 |
我必须根据下一个条件选择 id 和最后一个订单:
- 如果订单不等于 3,则使用此手机的最大 id 值获取行
- 如果 order 等于 3,则获取此手机的 pre-max id
- ID 在表 2 中。
所以结果应该是:
|phone | order|
|------ |------|
|122 | 4 |
|123 | 5 |
|124 | 5 |
MySQL 版本:Ver 15.1 Distrib 5.5.64-MariaDB
【问题讨论】:
-
如何建立“最后一个” - 是否有 auto_increment 列、日期或其他有帮助的内容?
标签: sql mariadb subquery sql-order-by