SELECT 해서 RAND 함수 통해 랜덤으로 출력하되 어느 한 필드 기준으로 랜덤으로 추

SELECT 해서 RAND 함수 통해 랜덤으로 출력하되 어느 한 필드 기준으로 랜덤으로 추

QA

SELECT 해서 RAND 함수 통해 랜덤으로 출력하되 어느 한 필드 기준으로 랜덤으로 추

본문

SELECT 해서 RAND 함수 통해 랜덤으로 출력하되 어느 한 필드 기준으로 랜덤으로 출력할수 있을까요? 

 

예를들어

 

SELECT * FROM 테이블 ORDER BY RAND();

 

이 구문이 있습니다.

 

그런데 필드 중 category 이라는 필드가 있는데

 

이 필드 정렬하면서 랜덤이 가능할까요?

 

 

 

 

이 질문에 댓글 쓰기 :

답변 2

    번호 카테고리  어떤필드       

------  --------  --------

     1  IT             kkk     

     2  IT             ooo     

     3  IT            yyy     

     4  회사         bbb     

     5  회사         ccc     

     6  회사         ddd     

     7  여행         eee     

     8  여행        fff     

     9  여행        ggg     

 

 


SELECT 
    A.* 
FROM 
    테이블 A,
    (
        SELECT @rownum:=@rownum+1 AS seq, C.카테고리
        FROM 
            (SELECT DISTINCT(카테고리) AS 카테고리 FROM 테이블 ORDER BY RAND()) C, 
            (SELECT @rownum:=0) D 
    ) B 
WHERE 
    A.카테고리=B.카테고리
ORDER BY 
    B.seq, RAND() 

 

    번호 카테고리  어떤필드      

------  --------  --------

     8  여행        fff     

     9  여행        ggg     

     7  여행        eee     

     1  IT        kkk     

     3  IT        yyy     

     2  IT        ooo     

     5  회사        ccc     

     6  회사        ddd     

     4  회사        bbb     

 

    번호 카테고리  어떤필드 

------  --------  --------

     3  IT        yyy     

     1  IT        kkk     

     2  IT        ooo     

     9  여행        ggg     

     8  여행        fff     

     7  여행        eee     

     6  회사        ddd     

     5  회사        ccc     

     4  회사        bbb     

 

    번호 카테고리  어떤필드 

------  --------  --------

     5  회사        ccc     

     6  회사        ddd     

     4  회사        bbb     

     9  여행        ggg     

     7  여행        eee     

     8  여행        fff     

     2  IT        ooo     

     1  IT        kkk     

     3  IT        yyy     

 

order by category, rand() 

답변 감사합니다. 그런데

해당 필드 값 안에서 랜덤이 되는데요.

이것을 필드 값 순서 변경이 가능할까요?

예를들어

 category 필드에
"IT", "회사" , "여행" 이렇게 있습니다.

그럼 순서 정렬할때

IT 인 값들 > 여행 인 값들 > 회사 인 값들

다시 새로고침하면

여행 인 값들> IT 인 값들> 회사 인 값들

이렇게는 안될까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 125,888 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT