mysql - 实现ROW_NUM
像 Oracle 一样,给查询结果集增加一个 ROW_NUM。
SELECT
@r :=@r + 1 AS ROW_NUM, a.*
FROM (
-- 任意查询
SELECT * FROM t_sys_user
) a, (SELECT @r := 0) b
下面是一个奇葩的案例:用别人看不懂的方式算近 3 年年份,
公司里的老头子写的,原理与上面基本一致,用到了递归算法,
这是一个反例,日常编码过程中,要避免给维护人员增加工作量。
SELECT
YEAR (SYSDATE()) -@r yearNum ,@r :=@r + 1 AS row_num, a.*
FROM
t_sys_user a,
(SELECT @r := 0) b
LIMIT 3
疯狂的妞妞 :每一天,做什么都好,不要什么都不做!