oracle上一篇,下一篇文章的sql语句

java的mybatis

上一篇(传输当前文章的id,然后获取它的上一篇的id)

<select id="getPreviousArticle" resultType="java.lang.Long">
        SELECT
        m.id
        FROM
        (
        select t.*,rownum ROW_ID
        from (
        SELECT
        id
        FROM
        information
        <where>
            <if test="params.delFlag != null">
                and del_flag = #{params.delFlag}
            </if>
            <if test="params.showFlag != null">
                and show_flag = #{params.showFlag}
            </if>
        </where>
        <if test="params.orderField != null and params.orderField.trim() != '' and params.order != null and params.order.trim() != ''">
            order by ${params.orderField} ${params.order}
        </if>
        ) t
        ) m
        ,
        (
        SELECT
        c.*
        FROM
        (
        select t.*,rownum ROW_ID
        from (
        SELECT
        id
        FROM
        information
        <where>
            <if test="params.delFlag != null">
                and del_flag = #{params.delFlag}
            </if>
            <if test="params.showFlag != null">
                and show_flag = #{params.showFlag}
            </if>
        </where>
        <if test="params.orderField != null and params.orderField.trim() != '' and params.order != null and params.order.trim() != ''">
            order by ${params.orderField} ${params.order}
        </if>
        ) t
        ) c
        <where>
            c.id = #{params.id}
        </where>
        ) n
        WHERE
        m.ROW_ID &lt; n.ROW_ID and m.ROW_ID = n.ROW_ID-1
    </select>

下一篇(传输当前文章的id,然后获取它的下一篇的id)

<select id="getNextArticle" resultType="java.lang.Long">
        SELECT
        m.id
        FROM
        (
        select t.*,rownum ROW_ID
        from (
        SELECT
        id
        FROM
        information
        <where>
            <if test="params.delFlag != null">
                and del_flag = #{params.delFlag}
            </if>
            <if test="params.showFlag != null">
                and show_flag = #{params.showFlag}
            </if>
        </where>
        <if test="params.orderField != null and params.orderField.trim() != '' and params.order != null and params.order.trim() != ''">
            order by ${params.orderField} ${params.order}
        </if>
        ) t
        ) m
        ,
        (
        SELECT
        c.*
        FROM
        (
        select t.*,rownum ROW_ID
        from (
        SELECT
        id
        FROM
        information
        <where>
            <if test="params.delFlag != null">
                and del_flag = #{params.delFlag}
            </if>
            <if test="params.showFlag != null">
                and show_flag = #{params.showFlag}
            </if>
        </where>
        <if test="params.orderField != null and params.orderField.trim() != '' and params.order != null and params.order.trim() != ''">
            order by ${params.orderField} ${params.order}
        </if>
        ) t
        ) c
        <where>
            c.id = #{params.id}
        </where>
        ) n
        WHERE
        m.ROW_ID &gt; n.ROW_ID and m.ROW_ID = n.ROW_ID+1
    </select>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值