对以前的一条 SQL 的总结

@zgcwkj  2020年07月31日

分类:

代码 其它 

对以前的一条 SQL 的总结,记录我的学习!

想想以前刚学习的时候,对 SQL 不熟悉。一个小小的需求,都想老半天。

现在回想起来,那时候是真的菜~

2017 年的需求:

CREATE TABLE `temp1` (
   `id1` int(11) NOT NULL AUTO_INCREMENT,
   `id2` int(11) DEFAULT NULL,
   PRIMARY KEY (`id1`) USING BTREE
 ) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT

1596162416.jpg

以前的我:(2017)

select *
from temp1 a
where a.id2 not in (select id2 from temp1 b where b.id1 > a.id1)

要求:id1必须是自增值

现在的我:(2020)

select * from(select * from temp1 order by id1 desc) t group by id2 order by id1 asc

只需要想排序ID1,再合并ID2,就可以得到想要的结果了,甚至还能组成新的虚拟表

未来的我:期待能更好!



评论已关闭

Top