My sql 自增 虚拟列。

在MYSQL 是没有类似MSSQL 2008 / oracle 数据库开窗函数 over() ,rank(), DENSE_RANK() ,ROW_NUMBER()

又叫窗口函数 。

当我们需要在查询的数据集加一列虚拟的自增列时。由于MYSQL没有提供类似的开窗函数

只能通过变量方式实现。。

select @num:=@num+1 ,u.`Host` from `user` as u ,(select @num:=0 as id ) as b ;

其实就是把变量当成一个字段,进行关联,同时进行自增。这个初始因子也可以是日期。

select @num:=date_add(@num, interval 1 day) ,u.`Host` from `user` as u ,(select @num:=CURDATE() as date ) as b ;


end ..................

原文地址:https://www.cnblogs.com/1-Admin/p/9230267.html