2013-04-11 1 views
-1

내 선택 쿼리는 총 개수와 제한 및 오프셋과 다른 필드를 반환해야합니다. 총 총 수는 1000이지만 5로 결과를 제한합니다. 내 기대는 총 개수를 반환합니다 1000 및 다른 5 고유 ID로.포스트 그레스 창 함수 - 오버()

over() 또는 다른 방법으로 가능합니까? 카운트에 한계가 적용되지 않아야합니다!

SELECT DISTINCT id, total OVER (
    count(DISTINCT las.id) 
    FROM asset 
    WHERE TRUE AND model = 12 AND l status = 'Done' 
    ) 
WHERE TRUE AND model = 12 AND l status = 'Done' 
FROM asset limit 0,10 ; 

sql이 작동하지 않습니다! 상태 및 ID를 기반으로

예상 된 결과

id count 
1  1000 
2  1000 
3  1000 
4  1000 
5  1000 

총 개수는 조건을 기반으로

+2

조회에 목적이 무엇인지 알 수없는 방법으로 잘못 제한합니다. 데이터 샘플과 원하는 결과를 게시하십시오. –

+0

몇 가지 샘플 데이터를 게시하십시오. 요구 사항을 명확하게 이해하기가 어렵습니다. – Akash

+0

** 먼저 ** 함수 (예 :'count()') *를 지정한 다음'over()'절을 사용하여 창을 정의해야합니다. 이 설명서에는 이에 대한 아주 훌륭한 설명서가 있습니다. –

답변

1
select id, count(*) total 
from asset 
where model = 12 and status = 'Done' 
group by id 
order by id 
limit 5 
+0

실제 총액이 반환되지 않습니다. 반환 값은 1입니다. 거기에 그룹에 의해 게시판에 – zod

+0

특정되는 무엇입니까, 그것은 단지 각 그룹 id 1의 개수를 제공! – zod

+0

@ zod 당신이 원하는 것을 말하지 않았습니다. –