DbQueryUserMiniDao_queryUserByAge.sql 865 B

12345678910111213141516171819
  1. select count(baseuu.realname) as total,
  2. count(uu2.id)as querycount,
  3. cast(count(uu2.id)/count(baseuu.realname) as decimal(10,2)) as percent,
  4. dp.glcname as departname
  5. from t_bus_user_personnel pers
  6. LEFT JOIN t_s_base_user baseuu on baseuu.id = pers.userid
  7. left join t_s_user_org uorg on uorg.user_id = pers.userid and uorg.ifpluralism = '0'
  8. left join t_s_user uu on baseuu.id = uu.id
  9. left join t_s_depart dp on dp.ID = uorg.org_id
  10. left join t_s_user uu2 on baseuu.id = uu2.id
  11. <#if inDto.minBirth ?exists && inDto.minBirth ?length gt 0>
  12. AND STR_TO_DATE(SUBSTRING(uu2.idcard,7,8),'%Y%m%D') >= :inDto.minBirth
  13. </#if>
  14. <#if inDto.maxBirth ?exists && inDto.maxBirth ?length gt 0>
  15. AND STR_TO_DATE(SUBSTRING(uu2.idcard,7,8),'%Y%m%D') <= :inDto.maxBirth
  16. </#if>
  17. where pers.leave_date is null and baseuu.delete_flag = '0' and dp.glcname is not null
  18. GROUP BY dp.glcname