mysql 달력만들기

출처 : http://www.gurubee.net/article/65315


SELECT ym

     , MIN(CASE dw WHEN 1 THEN d END) Sun

     , MIN(CASE dw WHEN 2 THEN d END) Mon

     , MIN(CASE dw WHEN 3 THEN d END) Tue

     , MIN(CASE dw WHEN 4 THEN d END) Wed

     , MIN(CASE dw WHEN 5 THEN d END) Thu

     , MIN(CASE dw WHEN 6 THEN d END) Fri

     , MIN(CASE dw WHEN 7 THEN d END) Sat

  FROM (SELECT date_format(dt,'%Y%m') ym

             , Week(dt) w

             , Day(dt) d

             , DayofWeek(dt) dw

          FROM (SELECT CONCAT(y, '0101') + INTERVAL a*100 + b*10 + c DAY dt

                  FROM (SELECT 0 a

                        UNION ALL SELECT 1

                        UNION ALL SELECT 2

                        UNION ALL SELECT 3

                        ) a

                     , (SELECT 0 b

                        UNION ALL SELECT 1

                        UNION ALL SELECT 2

                        UNION ALL SELECT 3

                        UNION ALL SELECT 4

                        UNION ALL SELECT 5

                        UNION ALL SELECT 6

                        UNION ALL SELECT 7

                        UNION ALL SELECT 8

                        UNION ALL SELECT 9

                        ) b

                     , (SELECT 0 c

                        UNION ALL SELECT 1

                        UNION ALL SELECT 2

                        UNION ALL SELECT 3

                        UNION ALL SELECT 4

                        UNION ALL SELECT 5

                        UNION ALL SELECT 6

                        UNION ALL SELECT 7

                        UNION ALL SELECT 8

                        UNION ALL SELECT 9

                        ) c

                     , (SELECT '2015' y) d

                 WHERE a*100 + b*10 + c < DayOfYear(CONCAT(y, '1231'))

                ) a

        ) a

 GROUP BY ym, w

;

이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받고 있습니다. 1 5

잘생긴 팝콘 방문해주셔서 감사합니다.

이 글을 공유하기

댓글

Designed by JB FACTORY