반응형
임의의 순서로 행 반환 [중복]
이 질문에 이미 답변이 있습니다.
- SQL에서 행을 무작위로 선택하는 방법은 무엇입니까? 10 개의 답변
쿼리가 실행될 때마다 임의의 순서로 테이블 행을 반환하는 SQL 쿼리를 실행할 수 있습니까?
SELECT * FROM table
ORDER BY NEWID()
이것은 가장 간단한 방법입니다.
SELECT quote FROM quotes ORDER BY RAND()
가장 많이는 아니지만. 이것은 더 나은 솔루션입니다.
일반적인 방법은 고유 한 GUID를 생성하는 NEWID () 함수를 사용하는 것입니다. 그래서,
SELECT * FROM dbo.Foo ORDER BY NEWID();
최선이고 무작위로 두 개의 서로 다른 쿼리를 사용하는 것이 좋습니다.
뭔가 ...
테이블에서 table_id 선택
그런 다음 선택한 언어로 임의의 ID를 선택한 다음 해당 행의 데이터를 가져옵니다.
SELECT * FROM 테이블 WHERE table_id = $ rand_id
그러나 예상되는 경우 많은 행이있을 것입니다. 무작위로 선택하는 항목에 제한을 두는 것이 좋습니다. 출판물의 경우 작년에 게시 된 항목 만 무작위로 선택할 수 있습니다.
다음은 예입니다 ( 소스 ).
SET @randomId = Cast(((@maxValue + 1) - @minValue) * Rand() + @minValue AS tinyint);
이것이 필요한 것입니다.
SELECT * FROM table_name ORDER BY RAND () LIMIT 1
참고 URL : https://stackoverflow.com/questions/1117761/return-rows-in-random-order
반응형
'IT' 카테고리의 다른 글
특정 좌표에 DIV를 배치하는 방법은 무엇입니까? (0) | 2020.08.12 |
---|---|
Angular.js가 프로그래밍 방식으로 양식 필드를 더티로 설정 (0) | 2020.08.12 |
Java EE 6 @ javax.annotation.ManagedBean 대 @ javax.inject.Named 대 @ javax.faces.ManagedBean (0) | 2020.08.12 |
전역 변수를 만드는 방법은 무엇입니까? (0) | 2020.08.12 |
"포장을 풀기에 너무 많은 값" (0) | 2020.08.12 |