MySQL – 对于列表中的每个ID,选择2个最后一个元素
发布时间:2020-05-23 19:25:43 所属栏目:MySql 来源:互联网
导读:我有一个包含以下架构的表:id, field, time 3, test0, 2012-08-29 3, test1, 2012-08-30 3, test2, 2012-08-31 2, test0, 2012-08-19 2, test1, 2012-08-20 2, test2, 2012-08-26 ... 我需要列表中的每个
|
我有一个包含以下架构的表:
我需要列表中的每个id找到它的最后一个值和前一个值.
如果我需要最后一个值,我会用
我有什么想法可以达到这个目的吗? 最佳答案 如果每个ID号的时间都是唯一的,那么这将有效.
这是如何工作的.此嵌套查询获取每个id的最新时间.
然后,它会嵌入到此查询中,这将为您提供每个id的倒数第二个时间(排除最新时间的行子集的最新时间).
最后,完整查询(如上所示)获取所有行的次数大于或等于第二个最新时间. 如果您的时间不是唯一的 – 也就是说,您有一些行显示相同的ID和时间,则每个ID可能会有两行以上.但是你总会得到最近的两次. 如果某个特定ID只有一行,您将无法获得它. 只有你知道这些限制是否可以接受. 小提琴! http://sqlfiddle.com/#!2/82719/5/0 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
