mysql 그룹화? 를 찾고있습니다. 도와주세요 ㅠㅠ
본문
5 07.01(수) 2020-07-01 16:43:08 6초 / 윙 10,800 원 2
6 07.01(수) 2020-07-01 16:43:10 닭똥집 튀김 10,000 원 2
7 07.01(수) 2020-07-01 17:18:22 생맥) 500cc 8,000 원 2
8 07.01(수) 2020-07-01 16:43:12 생맥) 500cc 8,000 원 2
9 07.01(수) 2020-07-01 16:43:17 참이슬 4,000 원 2
10 07.01(수) 2020-07-01 17:18:25 참이슬 4,000 원 2
11 07.01(수) 2020-07-01 18:10:31 배달팁 3,000 원 1
12 07.01(수) 2020-07-01 18:10:35 후라이드치킨 16,900 원 1
13 07.01(수) 2020-07-01 18:42:10 고추치킨 18,900 원 1
14 07.01(수) 2020-07-01 18:41:33 배달팁 3,000 원 1
15 07.01(수) 2020-07-01 18:42:19 치킨무 500 원 1
16 07.01(수) 2020-07-01 19:05:57 고추치킨 18,900 원 1
17 07.01(수) 2020-07-01 19:05:53 배달팁 3,000 원 1
18 07.01(수) 2020-07-01 19:14:15 배달팁 3,000 원 1
19 07.01(수) 2020-07-01 19:14:49 양념치킨 17,900 원 1
안녕하세요. 도움을 요청드려봅니다 ㅠㅠ
mysql 그룹으로 가능할지 궁금합니다.
위 표에서 배달팁 시간을 기준으로 +1분 -1분 을 하나로 묶으려 합니다.
전 후 1분 기준으로 하나의 배달이어서 색을 다르게 준다던지 표시를 통해 그룹화를 시키는 방법을 찾고있습니다ㅠㅠ
쿼리를 두번 줘서 for 로 뿌리려니 양이 너무 많아서 페이지가 안넘어가네요 ㅠㅠ
mysql 로 안되면 for 문에서 하는 방법이 있을까요?
하... 초보라 많이 답답하네요. 부탁드립니다 흑흑 ㅠㅠ
답변 4
자체적으로 해결했습니다.
주문시간 전후 1분을 묶어 그중 배달팁이 포함된 그룹을 묶어주니 일단은 해결되었네요.
다만 쿼리 속도가 넘 늦네요. 조금더 좋은 해결방안이 나오면 이곳에 공유해놓겠습니다. 도움 주신분들 정말 감사드립니다! 꾸벅!!
원래 +1 -1분 으로 가는게 아니라 특정 거래건 큰건을 하나의 shop으로 가고
그 키값을 가지고 세부테이블만들어서 세부내역 쭉 넣어야할거같은데요
배달 대행업체에서 제공하는 데이터를 받아서 그대로 저장하시는건가요?
저장시에 주문번호같은 고유값을 만들어서 저장하시고
이미 저장된 데이터는 확인용 필드를 하나 만들고 날짜로 정렬해서 일정갯수로 쿼리 for문으로 첫번째 시간부터 순번(ID)를 저장하면서 시간오차범위를 넘어서거나 배달팁이 하나가 포함되면 주문번호 생성 및 재가공 식별자 업데이트, 배달팁이 두개이상이라면 수작업으로 확인할수 있게 마킹식별자 업데이트 같이 재가공하시는게 더 좋을것 같은데요
추신) 주문오더품목 예상최대 갯수를 설정하고 반복문에서 남은 갯수 이하라면 빠져나가게 설정하셔야됩니다.
쿼리를 날릴 때 하루씩 뽑거나 시간대별로 끊어서 작업하시면 안되나요?
전체를 다 하기에 무리라면 시간대별로 끊거나 일자별로 끊어서 작업하면 되지 싶은데요.
select * from 주문테이블 where 배달팁시간 between '오늘 시작시간' and '오늘 마지막 시간';
일단 이렇게만 뽑아서 날짜별로 정리한 후 작업을 해 보시는 건 어떨까요?