在leetcode的上刷题,遇到一个要求显示连续出现为3次的数字。
因为id是连续的,所以解决起来也非常简单,只需要自连接两次,连续出现只需要把连接条件改成从左往右依次减1.
但这时候问题出现了如果id不连续的话,那解决起来..就稍微有点麻烦了,一开始学到oracle伪列的时候不知道干嘛用,现在算是体会到了,可能以后上班的用途会更多。
mysql是不支持rownum的,但可以通过一些简单的方法在显示的列表里添加个序号做伪劣,使用的是胡连接这个表做子表
SET@i=0;
SELECT @i:=@i+1 p,l.* FROM LOGS l,(SELECT @x) t ;
缺点就是不重新置0的话变量会一直增加,使用的时候需要注意