如何查询近几年的数据,没有数据就返回年份和0

1.查询近几年的时间

#sys_oper_log 是库中的一个表,只要其中的数据记录数大于你要查询的时间范围即可

SELECT
    CONVERT (t2.year_str, CHAR) time
FROM
    (
        SELECT
            @rownum :=@rownum + 1 AS num,
            date_format(
                DATE_SUB(now(), INTERVAL @rownum YEAR),
                '%Y'
            ) AS year_str
        FROM
            (SELECT @rownum := - 1) AS r_init,
            (
                SELECT
                    c.oper_id
                FROM
                    sys_oper_log c
            ) AS c_init
    ) t2
	WHERE t2.year_str <= #{endTime}and t2.year_str >= #{startTime}
GROUP BY
    t2.year_str

2、通过 LEFT JOIN 关键字关联查询的数据表

这就不写了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值