SQL 쿼리의 결과를 저장 프로 시저 내에서 임의의 순서로 정렬하는 가장 좋은 방법은 무엇입니까?SQL Server 임의 정렬
답변
이것은 SO# 19412의 복제입니다. 여기에 내가 거기에 준 대답입니다 : 최대
select top 1 * from mytable order by newid()
SQL Server 2005에서
, 당신은 반복의 임의의 샘플을 얻을 TABLESAMPLE을 사용할 수 있습니다 더 나은 반환 다음 쿼리를,
SELECT FirstName, LastName FROM Contact TABLESAMPLE (1 ROWS) ;
이것은에 연결된 다른 질문에 따라 최선의 답변되지 않습니다 : http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql –
이 질문의 정확한 복제되지 않습니다 # 19412는 쿼리에서 임의의 행을 요청합니다.이 행은 무작위로 정렬 된 쿼리의 결과가 아니라 1 행을 제공하기 때문에 대답으로 표시되어 있습니다. –
TABLESAMPLE 팁은 금입니다! – Kong
select foo from Bar order by newid()
아시다시피 RAND()는 단지 하나의 값만 생성하므로 사용자는 ORDER BY RAND()를 사용할 수 없습니다. 따라서 시드 값에 키를 사용하십시오.
SELECT RAND(object_id), object_id, name FROM sys.objects ORDER BY 1
또는 사용 무작위 표본 결과 :
SELECT * FROM a_table WHERE 0.01 >= CAST(CHECKSUM(NEWID(), a_column) & 0x7fffffff AS float)/CAST (0x7fffffff AS int)
0.01은 총 행의 1 %를 의미합니다. SQL 2008 온라인 설명서에서
견적 : 당신이 정말로 개별 행의 무작위 표본을 원하는 경우
, TABLESAMPLE을 사용하여 무작위로 필터 밖으로 행에 쿼리를 수정, 대신 .
이것은 TABLESAMPLE보다 느리게 실행되며 큰 테이블에서 ORDER BY NEWID()보다 빠릅니다. – endo64
harpo의 대답이 무작위로 결과를 정렬했지만 쿼리의 결과에서 무작위 샘플링을 찾고 있었기 때문에이 특정 솔루션을 통해 내가 원하는 것을 얻을 수있었습니다. –
- 1. SQL Server 2005의 코드 정렬
- 2. SQL Server 2008의 코드 정렬?
- 3. mysql 내에서 임의 순서로 정렬
- 4. SQL Server 2005 Express의 데이터 정렬 구성
- 5. SQL Server : XML 열의 노드로 정렬
- 6. 데이터 정렬 문제 - SQL Server 2005
- 7. SQL Server 코드 페이지 및 데이터 정렬
- 8. TSQL (SQL Server) row_number로 정렬 및 페이징
- 9. SQL Server 시간별 정렬 및 1 시간
- 10. 스토리지에 적합한 SQL Server 데이터 정렬 선택
- 11. SQL Server 2005 데이터 정렬 문제
- 12. SQL Server 2008의 파티션 정렬 인덱스
- 13. 클라이언트 데이터 정렬 및 SQL Server 2005
- 14. DB SQL Server 2008의 데이터 정렬 변경
- 15. SQL Server Merge (정렬) 및 추적 업데이트
- 16. SQL Server 2000의 VARCHAR 데이터 정렬 대 VARBINARY 정렬 순서
- 17. 정렬 된 목록을 임의 화하는 방법?
- 18. LINQ 및 Entity Framework의 임의 정렬 목록
- 19. 이중 정렬 - 정렬 - in sql
- 20. Microsoft SQL Server 페이징
- 21. SQL 페이징 정렬
- 22. 클라이언트 측 정렬과 SQL Server 정렬 간의 기능 비교
- 23. 오라클 데이터 마이 그 레이션 중 SQL Server 데이터 정렬
- 24. SQL Server 2008 테이블에서 데이터 지역화 및 정렬
- 25. SQL Server 관리 - 데이터 정렬 스크립팅을 방지하는 옵션?
- 26. 다른 언어를 사용하는 SQL Server 데이터 정렬/ADO.NET DataTable.Locale
- 27. SQL Server 2008 Report Builder 3.0에서 재정의 정렬?
- 28. SQL Server 2005에서 SQL Server 2008로 업그레이드
- 29. SQL Server 2008의 SQL Server 인증
- 30. 프록시 테이블 SQL Server vs SQL Server
[SQL에서 임의의 행을 요청하는 방법?] (http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql) – exhuma