1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
- <mapper namespace="cn.iocoder.yudao.module.museums.dal.mysql.specimenoutbound.SpecimenOutboundMapper">
- <!--
- 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
- 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
- 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
- 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
- -->
- <select id="selectMonthlyOutboundStatistics" resultType="map">
- SELECT
- MONTH(outgoing_time) AS month,
- COUNT(DISTINCT TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(info_id, ',', numbers.n), ',', -1))) AS number
- FROM
- museums_specimen_outbound
- JOIN
- (SELECT 1 AS n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION
- SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) AS numbers
- ON
- CHAR_LENGTH(info_id) - CHAR_LENGTH(REPLACE(info_id, ',', '')) >= numbers.n - 1
- WHERE
- (status = 3 OR status = 4)
- AND YEAR(outgoing_time) = #{year}
- AND deleted = 0
- GROUP BY
- MONTH(outgoing_time)
- ORDER BY
- month
- </select>
- <select id="getMonthlyReturnStatistics" resultType="map">
- SELECT
- MONTH(return_date) AS month,
- COUNT(DISTINCT TRIM(SUBSTRING_INDEX(SUBSTRING_INDEX(info_id, ',', numbers.n), ',', -1))) AS number
- FROM
- museums_specimen_outbound
- JOIN
- (SELECT 1 AS n UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION
- SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9 UNION SELECT 10) AS numbers
- ON
- CHAR_LENGTH(info_id) - CHAR_LENGTH(REPLACE(info_id, ',', '')) >= numbers.n - 1
- WHERE
- (status = 4)
- AND YEAR(return_date) = #{year}
- AND deleted = 0
- GROUP BY
- MONTH(return_date)
- ORDER BY
- month
- </select>
- </mapper>
|