(수정)
안녕하세여. 데린이 입니다.
날짜별로 저장된 데이터를 날짜별로 정렬해서 뽑으려고 합니다
Mysql
테이블 정보
Id(int,pk), group(varchar(20)), startday(varchar(20)), startTime(varchar(10)), endTime(varchar(10)), title(varchar(50))
원하는 데이터 예시
2020-01-01
1, 그룹A, 2020-01-01, 09:00, 10:00, 회의
2, 그룹A, 2020-01-01, 10:00, 11:00, 회의
3, 그룹A, 2020-01-01, 11:00, 12:00, 회의
2020-01-02
4, 그룹A, 2020-01-02, 09:00, 10:00, 회의
5, 그룹A, 2020-01-02, 10:00, 11:00, 회의
6, 그룹A, 2020-01-02, 11:00, 12:00, 회의
쿼리
select id, group, startday, starttime, endtime, title from scheduletable
where day between '2020-01-01' and '2020-01-30'
order by startday, starttime
조언 부탁드리겠습니다.
WITH scheduletable AS ( SELECT 1 id, '그룹A' grp, '2020-01-01' startday, '09:00' starttime, '10:00' endtime, '회의' title UNION ALL SELECT 2, '그룹A', '2020-01-01', '10:00', '11:00', '회의' UNION ALL SELECT 3, '그룹A', '2020-01-01', '11:00', '12:00', '회의' UNION ALL SELECT 4, '그룹A', '2020-01-02', '09:00', '10:00', '회의' UNION ALL SELECT 5, '그룹A', '2020-01-02', '10:00', '11:00', '회의' UNION ALL SELECT 6, '그룹A', '2020-01-02', '11:00', '12:00', '회의' ) SELECT DISTINCT startday , NULL id , NULL grp , NULL starttime , NULL endtime , NULL title FROM scheduletable WHERE startday BETWEEN '2020-01-01' AND '2020-01-30' UNION ALL SELECT startday , id , grp , starttime , endtime , title FROM scheduletable WHERE startday BETWEEN '2020-01-01' AND '2020-01-30' ORDER BY startday, starttime ;