IT
MySql Sum & IF 활용
agnusdei1207
2022. 7. 4. 16:33
반응형
SMALL
조건에 따른 여러 값을 count 하는 Select 문
<select id="monthSelectList" parameterType="VO" resultType="VO">
/* VO.monthSelectList */
<![CDATA[
SELECT
CONCAT(VVC.VISIT_DATE,' ','월') visitDate
, VVC.VISIT_DATE visitDateReal
, SUM(VVC.AREA1) area1
, SUM(VVC.AREA2) area2
, SUM(VVC.AREA3) area3
, SUM(VVC.AREA4) area4
, SUM(VVC.AREA5) area5
, SUM(VVC.AREA6) area6
, SUM(VVC.AREA7) area7
FROM (SELECT
IF(VC.AREA='수도권',1,0) AREA1
, IF(VC.AREA='경상권',1,0) AREA2
, IF(VC.AREA='충청권',1,0) AREA3
, IF(VC.AREA='전라권',1,0) AREA4
, IF(VC.AREA='강원권',1,0) AREA5
, IF(VC.AREA='제주권',1,0) AREA6
, IF(VC.AREA NOT REGEXP '수도권|경상권|충청권|전라권|강원권|제주권', 1,0) AREA7
, DATE_FORMAT(VC.VISIT_DATE,'%m') VISIT_DATE
FROM table_name VC
WHERE DATE_FORMAT(VC.VISIT_DATE,'%Y') = #{schEtc02}
]]>
<include refid="Where"/>
<![CDATA[
) VVC
GROUP BY VVC.VISIT_DATE
ORDER BY VVC.VISIT_DATE ASC
]]>
</select>
1. IF 를 활용하여 참이면 1 그렇지 않으면 0 으로 조회 및 각각 alias
2. alias 된 조회 결과를 Sum 함수로 더하기
반응형
LIST