일단 DB서버는 mssql 2008 R2 이구요.

요구사항이 아래와 같습니다.


상품 정렬 순서를
1. 전체를 최신 순서대로 3개만 먼저 보여줌
2. 관심 상품을 최신 순서대로 3개 랜덤(1번에서 안 보여진)
3. 관심 shop의 상품 중에 관심 카테고리에 있는 제품 최신 순서대로 3개 랜덤 (1~2번에서 안 보여진)
4. 관심 shop의 상품을 최신 순서대로 3개 랜덤(1~3번에서 안 보여진)
5. 관심 카테고리의 상품을 최신 순서대로 3개 랜덤(1~4번에서 안 보여진)
6. 전체를 최신 순서대로 1번에 이어 다시 끝까지 (1~5번에서 안 보여진)


이게 요구사항인데

사실 각 항목들에 있는 "3개만" 이라는 조건이 없을 경우에 대해서는 쿼리를 쉽게 짤수 있었습니다.

(물론 4번과 5번의 "최신 순서대로 3개 랜덤" 이라는 요청은...애초에 말이 안맞다고 생각하기 때문에 무시하구요.)

order by 1 desc, 2 desc, 3 desc....이런식으로 쭉 나열하는식으로 해결할 수 있었습니다만..


재수정 요구사항에는 저렇게 각 항목별로 "3개만" 이라는 단서가 붙어있더라구요.

저런 조건이 붙으니까 의외로 해결 쿼리가 잘 안떠오르네요.

mysql과는 다르게 mssql에는 order by limit 였나..아무튼 그 limit가 없어서요.


이런 요구사항일 경우 대략적으로 어떤걸 써야할지...

디테일한 답변이라면 물론 더욱 감사하겠지만, 대략적인 힌트만이라도 절실하네요.

No. Subject Author Date Views
Notice 2023년 1월 - SQLER의 업데이트 강좌 리스트 코난(김대우) 2023.01.02 551
8093 인덱스 관련 질문 드립니다. [3] JKMoon 2014.08.06 2333
8092 case 문 질문드립니다.. [3] 아수라발발타 2014.08.06 2419
8091 카탈로그 온라인상태로 변경 문의 김정권 2014.08.06 2635
8090 쿼리 질문 드립니다. [3] 전념 2014.08.05 2154
8089 사용중인 테이블 공간 확인 중.... SQL어렵.. 2014.08.05 2054
8088 DB접근제어 관련하여 문의드립니다. [1] 김삐씨 2014.08.05 2312
8087 쿼리 질문 드립니다 [2] 아수라발발타 2014.08.04 2064
8086 SQL Page관련 문의 드립니다. [2] SQL어렵.. 2014.08.04 2199
8085 Bulk insert , Union all , Order by 도와주세요. [2] Runningman、 2014.08.04 2935
8084 TOP 구문에 의한 말도 안되는(?) 성능개선 현상 문의 [7] ㅎㅌㅎㅌ 2014.08.01 3349
8083 테이블의 최종 변경 날짜 확인에 대해 문의 드립니다! [3] 가지마세요 2014.08.01 5628
8082 조인 관련 질문입니다. (같은 테이블 2번 조인) 강효종 2014.07.31 2215
8081 Full-Backup 파일과 MDF 파일과의 용량차이.. [1] 조진석 2014.07.31 2197
8080 누적합하다가 안되요 ㅠㅠ [3] 곰요 2014.07.31 2446
8079 DB백업질문입니다. [1] 희망나라 2014.07.31 1972
8078 사용자 정의 function은 dbo 키워드 없이 호출이 가능한가요? [1] 나는짱이야 2014.07.31 2456
8077 DB복원 후 로그인 문제 파인드쿠폰 2014.07.31 2949
8076 Server 2008 R2 영문판에서 다국어 사용자 인터페이스 설치시.. 무념 2014.07.30 2369
8075 안녕하세요 임시테이블과 테이블변수의 사용이유에 대해서 궁금해서 여쭤봅니다 [1] 어빈vv 2014.07.30 2139
» mssql에서 이런 식의 정렬을 하려면 쿼리를 대략 어떻게 쓰면 될까요? [1] 자인 2014.07.29 3384





XE Login