| | |
| | | <result column="group_number" property="groupNumber"/> |
| | | </resultMap> |
| | | <select id="queryRawGlassByEngineeringId" resultMap="baseMap"> |
| | | SET @prev_width := NULL; |
| | | SET @prev_height := NULL; |
| | | SET @counter := 0; |
| | | SELECT t.*, |
| | | @counter := IF(@prev_width = width and @prev_height = height, @counter, @counter + 1) AS group_number, |
| | | @prev_width := width, |
| | | @prev_height := height |
| | | FROM up_patten_usage t |
| | | where t.engineering_id = #{engineeringId} |
| | | and t.state = 0 |
| | | ORDER BY t.layout_sequence |
| | | SELECT |
| | | t.*, |
| | | t.group_number |
| | | FROM ( |
| | | SELECT |
| | | upu.*, |
| | | -- 计算组号 |
| | | @counter := IF(@prev_width = upu.width AND @prev_height = upu.height, |
| | | @counter, |
| | | @counter + 1) AS group_number, |
| | | -- 变量赋值 |
| | | @prev_width := upu.width, |
| | | @prev_height := upu.height |
| | | FROM |
| | | up_patten_usage upu, |
| | | -- 关键:用虚拟表初始化变量,替代单独的SET语句 |
| | | (SELECT @prev_width := NULL, @prev_height := NULL, @counter := 0) AS init_var |
| | | WHERE |
| | | upu.engineering_id = #{engineeringId} |
| | | AND upu.state = 0 |
| | | ORDER BY |
| | | upu.layout_sequence |
| | | ) AS t |
| | | </select> |
| | | <select id="queryFinishByEngineering" resultType="java.lang.Integer"> |
| | | SELECT id |