MariaDB/MySQL 재귀쿼리로 달력 만들기
MariaDB/MySQL에서 달력 만들일이 생겼다.
오라클에서는 재귀쿼리로 이미 잘 쓰고 있었는데... MariaDB/MySQL에서는 그 시절 재귀쿼리가 안되었다.
이번엔 재귀쿼리가 가능한 상위버전의 MariaDB이길래 만들어 보았다.
'2022-02' 부분만 원하는 년월로 바꾸어 주면 된다.
SELECT
MIN(CASE WHEN A.DOW=1 THEN A.LEVEL END) AS Sun,
MIN(CASE WHEN A.DOW=2 THEN A.LEVEL END) AS Mon,
MIN(CASE WHEN A.DOW=3 THEN A.LEVEL END) AS Tue,
MIN(CASE WHEN A.DOW=4 THEN A.LEVEL END) AS Wed,
MIN(CASE WHEN A.DOW=5 THEN A.LEVEL END) AS Thu,
MIN(CASE WHEN A.DOW=6 THEN A.LEVEL END) AS Fri,
MIN(CASE WHEN A.DOW=7 THEN A.LEVEL END) AS Sat
FROM (
WITH RECURSIVE CALENDAR AS (
SELECT 1 AS LEVEL, DAYOFWEEK(CONCAT('2022-02','-01')) AS DOW, WEEK(CONCAT('2022-02','-01')) AS WOY
UNION ALL
SELECT CALENDAR.LEVEL + 1, DAYOFWEEK(CONCAT('2022-02','-', CALENDAR.LEVEL + 1)), WEEK(CONCAT('2022-02','-', CALENDAR.LEVEL + 1))
FROM CALENDAR
WHERE CALENDAR.LEVEL < DAY(LAST_DAY(CONCAT('2022-02','-01')))
)
SELECT *
FROM CALENDAR
) A
GROUP BY A.WOY
ORDER BY A.WOY;
Coding
MariaDB
MySQL
SQL
MariaDB/MySQL 재귀쿼리로 달력 만들기
Coding
MariaDB
MySQL
SQL
CentOS7 - Oracle Database XE 18c 설치
CentOS
Oracle
System
Wi-Fi 6E Card 설치기
Hardware
마우스 수리기
Hardware
나도 10년 만에 PC 업그레이드 이야기 2020-12
Hardware
티베로 데이터베이스 추가 (CentOS Linux 환경)
CentOS
System
Tibero
티베로 데이터베이스 추가 (CentOS Linux 환경)
CentOS
System
Tibero
IIS와 Tomcat 연동하기
IIS
System
Tomcat
Tomcat Connector
CentOS7 - Apache + Tomcat + Tomcat Connector 설치
Apache
CentOS
System
Tomcat
Tomcat Connector
MariaDB/MySQL 재귀쿼리로 달력 만들기
Coding
MariaDB
MySQL
SQL
CentOS7 - WebtoB 4.1 설치
CentOS
System
WebtoB
CentOS7 - Oracle Database XE 18c 설치
CentOS
Oracle
System