• Mybatis中添加重复语句,统计总和


    场景:添加字段时,重复字段不需要报错

    <insert id="ywords">
    INSERT INTO test (id,p_id,word,start_date,end_date,creator)
    VALUES
    <foreach collection="words" item="word" separator=", ">
    (#{Id}, #{Id}, #{word}, #{startDate}, #{endDate}, #{userName})
    </foreach>
    ON DUPLICATE KEY UPDATE id=#{Id},start_date=#{startDate},end_date=#{endDate},updater=#{userName}
    </insert>

    场景二:分组统计所有t_id的总和
    <select id="getListCount" resultType="com.web.bean.Total">
    select count(1) as totNum, sum(num) as totRNum, sum(d_num) as totDNum
    from (
    select t_id, max(r_num) num, max(d_num) d_num
    from table
    where word IN (<foreach collection="words" item="word" separator="," > #{word} </foreach>)
    <if test="read != -1"> AND read=#{read} </if>
    group by t_id
    ) raw
    </select>

    场景三:统计work相关的数据,并将work进行组合展示
    id word gg
    eg :1 王 2班
    1 名 2班
    where work in (王,名) return-> 1 王,名 2班

    <select id="getTopi" resultType="com..web.bean.ic">
    select id, group_concat(keyword) keyword, max(gg) gg
    from table
    where word IN (<foreach collection="words" item="word" separator="," > #{word} </foreach>)
    <if test="gg!= -1"> AND gg=#{gg} </if>
    group by id
    limit 3 desc
    LIMIT #{pageSize} OFFSET ${(pageNo - 1) * pageSize}

    </select>






  • 相关阅读:
    循序渐进学习XHTML
    一些常用正则表达式
    输入框限制
    Oracle 取随机数
    安装部署中的数据库打包和快捷方式启动浏览器
    游标小例
    查询列数
    临时表简介
    Update动态更新
    sql 多列转一列
  • 原文地址:https://www.cnblogs.com/pengtaotao/p/15189994.html
Copyright © 2020-2023  润新知