[김상호]님이 남기신 글:
>안녕하세요.
>
>select * from table_name where ncode='A' and rcode='B' order by id desc limit xx, xx
>
>rank 라는 필드가 있는데 0 또는 1이 들어갑니다.
>
>ncode='A' 이면서 rcode='B' 이면서,
>쿼리시 정렬순서를 rank 가 1 인 데이터를 우선으로 하되 무작위로 정렬하고, 나머지는 id 역순으로 정렬하고자 합니다.
>1번~10번까지 있다고 가정하고, rank 가 1인 데이터가 5개 있다고 가정한다면,
>rank 가 1인 데이터 5개를 우선으로 하되 순위를 무작위로 하고,
>나머지 5개는 id 라는 인덱스 값 역순(등록일 역순)으로 하고자 합니다.
>
>MySQL 3.23.58 인데, 위와 같은 조건의 정렬이 가능할런지요??
>알려주시면 감사하겠습니다.
========================================
SELECT ... FROM ... WHERE ncode='A' AND rcode='B' ORDER BY rank, id DESC LIMIT n,m
이런식으로 되지 않는다면 쿼리를 두번 날려야합니다.
그외 ORDER BY RAND() 라는 구문도 있지만 이건 여기에 써먹지 못할것 같네요. |