일단 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 SQL강좌: 챗GPT와 함께 배우는 SQL Server 무료 강좌 목차와 소개 (2023년 9월 업데이트) 코난(김대우) 2023.08.18 1066
Notice Python 무료 강좌 - 기초, 중급, 머신러닝(2023년 6월 업데이트) 코난(김대우) 2021.01.01 1666
8076 Server 2008 R2 영문판에서 다국어 사용자 인터페이스 설치시.. 무념 2014.07.30 2382
8075 안녕하세요 임시테이블과 테이블변수의 사용이유에 대해서 궁금해서 여쭤봅니다 [1] 어빈vv 2014.07.30 2155
» mssql에서 이런 식의 정렬을 하려면 쿼리를 대략 어떻게 쓰면 될까요? [1] 자인 2014.07.29 3394
8073 case when 쿼리 질문드립니다. 룰루하세용 2014.07.29 2708
8072 SQL Server 에이전트에 걸어놓은 작업을 실행 시킬 수 있을까요? [2] taz2315 2014.07.29 2790
8071 수불관련 저장프로시저 만드는데 팁좀 알려주세요 [1] 아싸라비아콜롬비아 2014.07.29 3516
8070 분기 표현할려고 하는데요 [1] 아수라발발타 2014.07.29 2183
8069 날짜에 시간더하는 함수 질문좀 부탁드려요 [5] 아싸헛스윙 2014.07.28 2878
8068 hash join 관련 [1] HSQL 2014.07.28 2645
8067 Agent Job AD 계정 사용시 권한 문제 [1] catchv 2014.07.28 2616
8066 join 관련 질문드립니다. [1] eothsk 2014.07.28 1900
8065 worktable을 사용하는것과 사용하지 않는 차이점에 대한 질문입니다. [1] 희망나라 2014.07.26 2447
8064 미러링 시 오류 1456 발생 HHunny 2014.07.25 4613
8063 distinct 관련 질문입니다. [1] memento 2014.07.25 2698
8062 도움좀 부탁드립니다. [10] 무대포2 2014.07.25 2554
8061 특정 열의 정렬순서대로 ID 필드 삽입 [8] 디비디비 2014.07.25 3278
8060 8kB 초과 행 오버플로우에 관한 질문 드립니다. SQL어렵.. 2014.07.24 2011
8059 mssql job 시작시간을 동적으로 받을수없나요? 로쏘네리 2014.07.24 2081
8058 콤마 분리 검색이 궁금합니다. [2] 죠리퐁 2014.07.24 3094
8057 중복찾기ㅜ_ㅜ [2] 마힐링 2014.07.24 2725





XE Login