不同where条件合并输出

 <select id="getVillageList" resultType="com.netintech.app.domain.Community">
        SELECT

(SELECT count(1) FROM biz_person
 WHERE type &lt; 3 and villageCode=#{code}) as numberOfTenants,(SELECT count(1) FROM biz_person
 WHERE type = 3 and villageCode=#{code})as residents,(SELECT count(1) FROM biz_person
 WHERE type = 4 and villageCode=#{code})as numberOfForeigners,(SELECT count(DISTINCT buildingCode)
    FROM biz_person
    WHERE
    villageCode = #{code}) as buildingCount,
    	(SELECT villageName
    FROM biz_person
    WHERE
    villageCode=#{code}
		LIMIT 1

    )  as name,


    #{code} as code

    </select>
SELECT
        villageName as name,
        villageCode as code,
        sum(case when type &lt; 3 then 1 else 0 end) numberOfTenants,
        sum(case when type = 3 then 1 else 0 end) residents,
        sum(case when type = 4 then 1 else 0 end) numberOfForeigners,
        count(DISTINCT buildingCode) as buildingCount
        FROM
        biz_person
        WHERE
        townCode = #{param1}
        AND communityCode = #{param2}
        AND villageCode in
        <foreach collection="codes" item="code" open="(" separator="," close=")">
            #{code}
        </foreach>
        group by villageCode
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值