복붙노트

[SQL] 임의의 순서로 반환 행 [중복]

SQL

임의의 순서로 반환 행 [중복]

이 SQL 쿼리를 작성할 수 있습니다 임의의 순서로 반환 테이블 행마다 쿼리 실행이?

해결법

  1. ==============================

    1.

    SELECT * FROM table
    ORDER BY NEWID()
    
  2. ==============================

    2.이것은 가장 간단한 솔루션입니다 :

    이것은 가장 간단한 솔루션입니다 :

    SELECT quote FROM quotes ORDER BY RAND() 
    

    그것은 가장 효율적인 아니지만. 이 사람은 더 나은 솔루션입니다.

  3. ==============================

    3.일반적인 방법은 고유 GUID를 생성 NEWID () 함수를 사용하는 것이다. 그래서,

    일반적인 방법은 고유 GUID를 생성 NEWID () 함수를 사용하는 것이다. 그래서,

    SELECT * FROM dbo.Foo ORDER BY NEWID();
    
  4. ==============================

    4.효율적이고, 무작위하기 위해서는 두 가지 질문이하는 것이 가장 수 있습니다.

    효율적이고, 무작위하기 위해서는 두 가지 질문이하는 것이 가장 수 있습니다.

    같은 뭔가 ...

    테이블에서 SELECT 내 table_id

    그런 다음, 선택한 언어로, 임의의 ID가, 그 행의 데이터를 끌어 선택합니다.

    테이블 SELECT * FROM WHERE 내 table_id = $ rand_id

    하지만 정말 당신이 테이블의 행을 많이 가지고 기대하는 경우 좋은 생각이 아니다. 당신은 당신이 무작위로 선택 것에 제한의 일종을 넣으면 좋을 것입니다. 출판물의 경우, 아마도 무작위로 1 년 이내에 게시 된 항목 만에서 선택.

  5. ==============================

    5.여기에 예제 (소스)입니다 :

    여기에 예제 (소스)입니다 :

    SET @randomId = Cast(((@maxValue + 1) - @minValue) * Rand() + @minValue AS tinyint);
    
  6. ==============================

    6.SQL 서버 / MS 액세스 구문 :

    SQL 서버 / MS 액세스 구문 :

    SELECT TOP 1 * FROM table_name ORDER BY RAND()
    

    MySQL의 구문 :

    SELECT * FROM table_name ORDER BY RAND() LIMIT 1
    
  7. from https://stackoverflow.com/questions/1117761/return-rows-in-random-order by cc-by-sa and MIT license