깜놀하는 해므찌로

MySql Sum & IF 활용 본문

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