개발 Q&A

제목 하루종일 쿼리하나를 가지고 씨름하고 있네요..ㅎㅎ; 그룹별 우선순위로 정렬...
카테고리 DB
글쓴이 개락 작성시각 2018/01/30 08:45:04
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 10140   RSS

정렬을 잡아야하는데 기준이..

연장자 우선이고 성별로 2명씩 짝을 지어야합니다.

여성이 연장자일경우 여여 남남이 나와야하고 남성이 연장자일 경우 반대가 됩니다.

여성 남성 나눠서 연장자 순으로 정렬을 시킬때 2로 나눠서 반올림 해버리면 일단 2명씩 순번이 묶입니다.

그걸 유니온으로 합쳐서 정렬을 하면 일단 한그룹에 4명씩 들어가죠.

이름1(g1) 19350101
이름2(g1) 19360101
이름3(g1) 19360704
이름4(g1) 19400229
이름5(g2) 19380101
이름6(g2) 19410101
이름7(g2) 19411206
이름8(g2) 19421125

위와같은 데이터가 있으면

정렬을 여여 남남 여여 남남으로 정렬이 되야하는건데..

성별로 하면 연장자 우선순위가 안되고 나이순으로 하면 위에 5~8처럼 여남남여 이런식으로 됩니다.

결론은 여나 남이 4명중에 최연장자일때 그 성별만 우선정렬해줘야하는데 이걸 풀질 못하네요 ㅎㅎㅎ;

단순하게 쿼리로는 답이 안나오는건지 제가 무지한건지...ㅎㅎ;

간만에 쿼리땜에 머리싸매고 있네요..

 

 다음글 phpstorm / 서버개발환경에서 변경된점 적용시키기... (4)
 이전글 테이블 헤더 고정 목록 스크롤 (1)

댓글

/ 2018/02/01 17:59:42 / 추천 0

결과 : 쿼리 한방으로 해결 할 수 없다고 생각합니다.

원하시는 결과를 찾기 위해선 프로그램을 한번 거치셔야 할거에요.

오더링의 경우 오름차순 내림차순등의 규칙을 통해서 데이터를 정렬해주는 기능이고, 그 기능을 통해서, 원하는 순서데로 데이터를 정렬 할 수 있지만

질문하신 부분처럼 특정 기준이 들어가는 오더링의 경우 프로그램을 통해서 하시는 방법밖에는 없다고 생각이 듭니다.

개락 / 2018/02/02 08:09:41 / 추천 0

댓글 감사합니다.

저도 하루 고민하고 일찍 포기했습니다. ㅎㅎㅎㅎ

kaido / 2018/02/02 11:17:09 / 추천 0

기준점만 더 있다면 가능 할 수도 있지 않나 싶긴 합니다만...

솔직히 그럴 시간에 프로그램 한번 거치시는게 좋을것 같습니다.

작업 끝내시고 나서 시간 나시면 한번 도전 하시는게 좋을것 같습니다.

 

"직장에선 일을 하고, 예술은 집에가서 해라! "

 

과거 사수 분중 한분이 저에게 했던 조언이었지요 ㅋㅋ

개락 / 2018/02/03 08:54:22 / 추천 0

kaido

ㅎㅎ 멋진말이네요.. 전 오늘의 할일을 내일로 미루라는 소리만 들었는데 ㅠㅠ

저런게 하나 걸리면 뭘하더라도 저걸 풀수있는 방법이 없을까 고심하게 되죠..

단순하게 생각한거는 그룹별로 묶어줄때 연장자인 그룹의 값을 0으로 아닌값을 1로 해주고 그걸로 정렬을 걸면 되지 않나싶은데

4명중에 연장자인 그룹을 선별하는게 답이 안나오네요 ㅠㅠ

댓글 감사합니다~