집 >데이터 베이스 >MySQL 튜토리얼 >SQL 테이블에서 임의의 고유 행 5개를 어떻게 선택할 수 있습니까?
SQL 무작위 행 선택 기법
SQL 테이블에서 행을 무작위로 선택하는 것은 다양한 애플리케이션에서 흔히 발생하는 작업입니다. 이 가이드에서는 다양한 SQL 언어를 사용하여 "customerNames"("Id" 및 "Name" 열 포함)라는 테이블에서 5개의 고유 행을 선택하는 방법을 보여줍니다.
MSSQL(Microsoft SQL Server) 방식
MSSQL Server 2005 이상의 경우 이 쿼리는 5개의 무작위 행을 효율적으로 검색합니다.
<code class="language-sql">SELECT TOP 5 Id, Name FROM customerNames ORDER BY NEWID()</code>
NEWID()
은 무작위 GUID를 생성하여 TOP 5
절이 결과 집합을 제한하기 전에 무작위 순서를 보장합니다.
데이터베이스 간 무작위 행 선택(단일 행)
위의 방법은 MSSQL에서 작동하지만 다음 방법은 다양한 데이터베이스 시스템에서 하나 임의의 행을 선택하는 방법을 보여줍니다. 5개 행을 선택하도록 이를 조정하려면 추가 기술이 필요합니다(아래에 자세히 설명되어 있음).
<code class="language-sql">SELECT column FROM table ORDER BY RAND() LIMIT 1</code>
<code class="language-sql">SELECT column FROM table ORDER BY RANDOM() LIMIT 1</code>
<code class="language-sql">SELECT column, RAND() as IDX FROM table ORDER BY IDX FETCH FIRST 1 ROWS ONLY</code>
<code class="language-sql">SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1</code>
<code class="language-sql">SELECT column FROM table ORDER BY RANDOM() LIMIT 1</code>
"column"
및 "table"
를 실제 열 및 테이블 이름으로 바꿔야 합니다.
여러 행을 무작위로 선택(5행)
단일 행 선택을 5개의 개별 행으로 확장하려면 더 정교한 접근 방식이 필요한 경우가 많습니다. 단일 행 쿼리를 반복적으로 실행하는 가장 간단한 방법은 비효율적이며 고유성을 보장하지 못할 수 있습니다. 일반적으로 대규모 데이터 세트의 경우 임의성과 구별성을 모두 보장하기 위해 창 기능 또는 자체 조인과 관련된 고급 기술이 선호됩니다. 구체적인 방법은 데이터베이스 시스템에 따라 다릅니다.
성능 고려 사항
임의 행 선택 쿼리의 성능은 테이블 크기와 데이터베이스 엔진 최적화에 의해 영향을 받을 수 있습니다. 매우 큰 테이블의 경우 성능 병목 현상을 피하기 위해 대체 샘플링 전략이 필요할 수 있습니다.
위 내용은 SQL 테이블에서 임의의 고유 행 5개를 어떻게 선택할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!