10 개의 항목 중 최상위를 선택하는 방법은 무엇입니까?10 개의 항목 중 가장 상위의 항목을 선택하는 방법은 무엇입니까?
SQL 테이블에 10 개의 항목 만 표시되는 의미있는 데이터가 있습니다. 예를 들어 이렇게하는 쿼리를 작성하고 싶습니다. 테이블에서 상위 10 * n을 선택하십시오.
예 : 53 개의 항목이 조건을 만족 시키므로 50 개만 보았고 마지막 3 개는 무시하고 싶습니다.
Plz 도움말. KBV
10 개의 항목 중 최상위를 선택하는 방법은 무엇입니까?10 개의 항목 중 가장 상위의 항목을 선택하는 방법은 무엇입니까?
SQL 테이블에 10 개의 항목 만 표시되는 의미있는 데이터가 있습니다. 예를 들어 이렇게하는 쿼리를 작성하고 싶습니다. 테이블에서 상위 10 * n을 선택하십시오.
예 : 53 개의 항목이 조건을 만족 시키므로 50 개만 보았고 마지막 3 개는 무시하고 싶습니다.
Plz 도움말. KBV
에 대해 어떻게 :
declare @rows int;
set @rows = ((select count(*) from table where condition)/10)*10
select top @rows * from table where condition
안녕하십니까, Psidom, SQL은 마지막 줄에 깔끔한 @rows 오류를 보여줍니다. 그것은 정수, 또는 진짜라고 예상합니다. 그게 뭐든지 할 수 있니? –
OK 메이트, 해결했습니다. 마지막 줄에 @rows 주위에 대괄호를 달아서 매력처럼 작동합니다. 고마워. –
하는이 시도 :
이with CTE AS (
SELECT * FROM Table WHERE Condition
)
Select top(((SELECT COUNT(*) FROM CTE)/10)*10) * From CTE
SELECT orderField,
field1,
...
FROM tblTable
WHERE condition
ORDER BY orderField
LIMIT 10 * numberOfGroups;
먼저 당신이 원하는 필드를 결정 쿼리를 구성 할 때 ... 다음을 고려하십시오 . 간단한 하나의 테이블 쿼리에서 상당히 안전하게
SELECT *
을 사용할 수 있지만
JOIN
ed 데이터 세트를 참조하는 경우 사용할 필드를 지정하고 해당 필드에 별칭을 할당하는 것이 좋습니다.
귀하의 orderField
또는 orderFields
이 무엇이든지 호출되었는지 확인하려면 *
와 같은 와일드 카드 또는 명시 적으로 지정해야합니다.
위의 코드는 먼저 criteria
에 부합하는 모든 레코드를 선택합니다. ORDER BY
에 대해 지정한 필드에 따라 결과 목록을 정렬합니다. 참고 : 위의 내용은 테이블의 기존 값에 따라 정렬한다고 가정합니다. 계산 된 값을 기반으로 정렬해야하는 경우 다른 (사소한) 수준의 복잡성을 추가해야 할 수 있습니다.
LIMIT
그러면 정렬 된 목록에서 첫 번째로 지정된 레코드 수를 가져옵니다. LIMIT
단순히 수락 계산 값 등 numberOfGroups
코드 또는 명시 numberOfGroups
대체 값으로 미리 설정된 변수이다 2 * 2
또는 10 * numberOfGroups
등 (즉 @numberOfGroups
나란히 5
또는 10 * 5
로 설정된 10 * @numberOfGroups
).
질문이나 의견이 있으시면 언제든지 그에 따라 설명문을 게시하십시오.
질문의 질을 높이려면 어떤 연구를했는지, 그리고 이것이 어떻게 도움이되었는지, 어떻게 조사하지 않았는지에 대한 증거를 제시하십시오. 질문에 샘플 데이터가있는 샘플 표를 텍스트로 표시하십시오 (링크 된 파일이 아님). 어떤 코드를 코드 샘플로 형식화했는지 보여주십시오 (코드를 강조 표시하고 텍스트 입력 영역 위의'{} '버튼을 클릭하십시오). 문제가있는 오류 메시지를 표시하십시오. 질문에 원하는 출력을 텍스트로 표시하십시오. 자세한 내용은 http://stackoverflow.com/help/how-to-ask를 참조하십시오. – toonice