我需要选择具有特定标识符(IDa
)的最后一个值(具有最高IDb
)。
例如 - 输入:
|IDa|IDb| text
================
| 1 | 1 | What
| 2 | 2 | code
| 3 | 1 | should
| 4 | 2 | I
| 5 | 2 | write
| 6 | 3 | here
| 7 | 2 | ?
想要输出:
|IDa|IDb| text
================
| 3 | 1 | should
| 7 | 2 | ?
| 6 | 3 | here
感谢您的帮助。
答案 0 :(得分:2)
如果IDa设置为auto_increment,您可以使用自联接
select t.*
from t
join (select max(IDa) IDa,IDb from t group by IDb ) t1
using(IDa,IDb) /* is equivalent to on(t.IDa = t1.IDa and t.IDb = t1.IDb) */
order by t.IDb
同样在您的预期结果集中,您已为IDb 1提及what
,根据您的问题,应该有should
这个词,因为它是IDb 1的最后一个
Fiddle Demo