programing

여기서 count(col) >

mailnote 2023. 7. 5. 20:54
반응형

여기서 count(col) >

다음과 같은 테이블이 있습니다.

+-----+-----+-------+
| id  | fk  | value |
+-----+-----+-------+
| 0   | 1   | peter |
| 1   | 1   | josh  |
| 3   | 2   | marc  |
| ... | ... | ...   |

이제 둘 이상의 값을 가진 모든 항목을 가져오려고 합니다.예상 결과는 다음과 같습니다.

+-----+-------+
| fk  | count |
+-----+-------+
| 1   | 2     |
| ... | ...   |

저는 이를 위해 다음과 같이 노력했습니다.

select fk, count(value) from table where count(value) > 1;

하지만 오라클은 그것을 좋아하지 않았습니다.

그래서 이걸 시도해봤어요...

select * from (
    select fk, count(value) as cnt from table
) where cnt > 1;

...성공하지 못했습니다.

아이디어 있어요?

사용having집계를 비교하기 위한 절입니다.

또한 쿼리가 제대로 작동하려면 집계 대상을 기준으로 그룹화해야 합니다.다음은 시작이지만, 당신이 조항별로 그룹을 놓쳤기 때문에 여전히 제대로 작동하지 않을 것입니다.정확히 무엇을 세려고 하는 겁니까?

select fk, count(value) 
from table 
group by fk
having count(value) > 1;

언급URL : https://stackoverflow.com/questions/1804731/where-countcol-1

반응형