mybatis 中case_mybatis 对string类型判断比较 group case when then 综合
[quote]
特別注意兩點(diǎn) 一個(gè)是where 的用法
group的用法
case when的用法
這個(gè)對(duì)string的比較 是單引號(hào) 括起test后面的整串, 然后 == 然后雙引號(hào)括起比較的字符串內(nèi)容
[/quote]
[quote]
resultType="com.zyd.orders.placeorder.model.SalesmanDO">
select T.salesmanId,T.salesmanCode, T.salesmanName, T.idNo,T.idType,T.phoneNo, T.channelId,T.registerDate, T.profession, T.email,
T.sumLoanAppCount, T.sumInProgressCount, T.sumFailLoanCount,T.sumReleaseCount,T.sumReleaseAmount ,T.channelName
from
(SELECT
s.salesman_id as salesmanId,
s.salesman_code as salesmanCode,
s.salesman_name as salesmanName,
s.id_no as idNo,
s.id_type as idType,
s.phone_no as phoneNo,
s.channel_id as channelId,
s.register_date as registerDate,
s.profession as profession,
s.email as email,
s.login_total_times,
count(case when ob.apply_status > 0 then ob.apply_status end) as sumLoanAppCount,
count(case when ob.apply_status > 1 and ob.apply_status < 6 then ob.apply_status end) as sumInProgressCount,
count(case when ob.apply_status = 7 then ob.apply_status end) as sumFailLoanCount,
count(case when ob.release_status = 1 then ob.release_status end) as sumReleaseCount,
sum(case when ob.release_status = 1 then ob.release_money end) as sumReleaseAmount,
c.channel_name as channelName
from salesman s left join order_base ob
on s.salesman_id = ob.user_id
left join channel_vendor c
on s.channel_id = c.channel_id
AND s.salesman_id = #{salesmanId}
AND s.phone_no = #{phoneNo}
AND s.password = #{password}
AND s.salesman_name = #{salesmanName}
AND s.id_no = #{idNo}
AND s.card_no = #{cardNo}
AND ob.id = #{loanApplicationCode}
AND s.register_date >= #{registerBeginDate}
AND s.register_date <= #{registerEndDate}
group by s.salesman_id,s.salesman_code,s.salesman_name,s.id_no,s.id_type,s.phone_no,s.channel_id,s.register_date,s.profession,s.email,s.login_total_times
) T
AND T.sumLoanAppCount > 0
[/quote]
[quote]
select * from (
SELECT
s.salesman_id as salesmanId,
s.salesman_name as salesmanName,
s.id_no as idNo,
s.id_type as idType,
s.phone_no as phoneNo,
s.channel_id as channelId,
s.register_date as registerDate,
s.profession as profession,
s.email as email,
count(case when ob.apply_status = 7 then ob.apply_status else 0 end) as reject_count,
count(case when ob.apply_status > 1 and ob.apply_status < 6 then ob.apply_status else 0 end) as inprogress_count,
count(case when ob.apply_status > 0 then ob.apply_status else 0 end) as total_count,
count(case when ob.release_status = 1 then ob.apply_status else 0 end) as release_status,
sum(case when ob.release_status = 1 then ob.release_money else 0 end) as total_release_amt
from salesman s left join order_base ob
on s.salesman_id = ob.user_id
where s.salesman_id = 1
group by s.salesman_id,s.salesman_name,s.id_no,s.id_type,s.phone_no,s.channel_id,s.register_date,s.profession,s.email
) t
[/quote]
總結(jié)
以上是生活随笔為你收集整理的mybatis 中case_mybatis 对string类型判断比较 group case when then 综合的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 安卓基础面试题_android
- 下一篇: mysql 无论输入什么都是现实 not