zoukankan      html  css  js  c++  java
  • 利用代数表达式解决复杂SQL







    https://www.cnblogs.com/ukzq/p/12184884.html

    <select id="listKucunWithRiZhi" resultMap="BaseResultMap">
    select DISTINCT rizhi2.mingchengguige as mingchengguige,
    ifnull(rizhi1.qichukucun1,0) qichukucun,
    ifnull(rizhi1.shourushuliang1,0) shourushuliang,
    ifnull(rizhi1.fachushuliang1,0) fachushuliang,
    ifnull(rizhi1.tuihuishuliang1,0) tuihuishuliang,
    ifnull(rizhi1.jieyushuliang1,0) jieyushuliang
    from (
    select
    DISTINCT (kucunrizhi.mingchengguige) as mingchengguige,
    substring_index(group_concat(kucunrizhi.id order by kucunrizhi.createtime desc),',',1) as id,
    substring_index(group_concat(kucunrizhi.xiangmuweihu order by kucunrizhi.createtime desc),',',1)as
    xiangmuweihu,
    substring_index(group_concat(kucunrizhi.rukukufang order by kucunrizhi.createtime desc),',',1)as rukukufang,
    substring_index(group_concat(kucunrizhi.dalei order by kucunrizhi.createtime desc),',',1)as dalei,
    substring_index(group_concat(kucunrizhi.qichukucun order by kucunrizhi.createtime),',',1)qichukucun1,
    sum(kucunrizhi.shourushuliang)as shourushuliang1,
    sum(kucunrizhi.fachushuliang)as fachushuliang1,
    sum(kucunrizhi.tuihuishuliang)as tuihuishuliang1,
    substring_index(group_concat(kucunrizhi.jieyushuliang order by kucunrizhi.createtime desc),',',1)jieyushuliang1,
    substring_index(group_concat(kucunrizhi.jiagongyigong order by kucunrizhi.createtime desc),',',1)as
    jiagongyigong,
    substring_index(group_concat(kucunrizhi.createtime order by kucunrizhi.createtime desc),',',1)as createtime
    from wuliaokucunrizhi as kucunrizhi
    <where>
    <if test="mingchengguige != null and mingchengguige != '' ">
    <bind name="mingchengguigePattern" value="'%'+mingchengguige+'%'"/>
    and kucunrizhi.mingchengguige like #{mingchengguigePattern}
    </if>
    <if test="jiagongyigong != null and jiagongyigong != '' ">
    and kucunrizhi.jiagongyigong = #{jiagongyigong}
    </if>
    <if test="rukukufang != null and rukukufang != '' ">
    and kucunrizhi.rukukufang = #{rukukufang}
    </if>
    <if test="xiangmuweihu != null and xiangmuweihu != ''">
    and kucunrizhi.xiangmuweihu = #{xiangmuweihu}
    </if>
    <if test="dalei != null and dalei != '' ">
    and kucunrizhi.dalei = #{dalei}
    </if>
    <if test="s_btime != null">
    and kucunrizhi.createtime &gt;= #{s_btime}
    </if>
    <if test="s_etime != null">
    and kucunrizhi.createtime &lt;= date_add(#{s_etime}, interval 1 day)
    </if>
    <if test="createtime != null">
    and kucunrizhi.createtime = #{createtime}
    </if>
    <if test="updatetime != null">
    and kucunrizhi.updatetime = #{updatetime}
    </if>
    </where>
    GROUP BY kucunrizhi.mingchengguige
    <if test="sort == null">
    ORDER BY createtime DESC
    </if>
    <if test="sort != null and sort != ''">
    order by sort{order}
    </if>)rizhi1 right join wuliaokucunrizhi as rizhi2 on
    rizhi1.mingchengguige = rizhi2.mingchengguige
    </select>
    
    

  • 相关阅读:
    JavaScript要理解闭包先了解词法作用域
    CSS实现放大镜/狙击镜效果
    如何用js让表格的行也能拖动
    如何用Ajax传一个数组数据
    swf自动播放时如何全屏全部显示
    格式化金额数与自动四舍五入
    HTML标签的使用要注意语义化
    一张图理解"Figure", "Axes", "Axis"
    Python的"random"函数的使用(一)
    "sorted()"中的"Key Functions"
  • 原文地址:https://www.cnblogs.com/ukzq/p/13401900.html
Copyright © 2011-2022 走看看