MySQL 구별된 개수 선택
+----------+----------+
| user_id | video_id |
+----------+----------+
| 1 | 1 |
| 1 | 1 |
| 1 | 2 |
| 2 | 1 |
| 2 | 2 |
+----------+----------+
저는 위와 비슷한 테이블 셋업이 있습니다.저는 제 문의에서 총 개수를 반환하고 싶습니다.
각각에 대하여user_id
그들은 필요합니다.DISTINCT video_id
. 그래서 위에.user_id = 1
2개의 독특한 video_id's와user_id = 2
2개의 고유한 video_id를 가질 것입니다.이렇게 하면 총 4명이 됩니다.원하는 결과를 얻기 위해 쿼리를 구성하는 최선의 방법을 모르겠습니다.
기본적으로 각각의 user_id에 대해, 나는 다음과 같은 것이 필요합니다.COUNT(DISTINCT video_id)
나는 단지 모든 것의 합계를 반환하는 최종 결과를 원합니다.
각 사용자의 총 카운트를 얻으려면 다음을 사용합니다.
select user_id, count(distinct video_id)
from data
group by user_id;
그런 다음 total video_ids를 가져오려면 하위 쿼리 안에 이 항목을 감싸야 합니다.
select sum(cnt) TotalVideos
from
(
select user_id, count(distinct video_id) cnt
from data
group by user_id
) d
SQL Fiddle with Demo를 참조하십시오.
첫번째 쿼리는 다음 결과를 제공합니다.2
일별로user_id
모든 다른 video_id의 합계를 구하려면 카운트를 합산합니다.
select user_id, count(distinct video_id) from TABLE group by user_id;
총 개수...
select distinct count(video_id) from Table
where...
group...
이제 총 개수의 고유 user_id, video_id 쌍을 다음 쿼리로 계산할 수 있습니다.
select count(distinct user_id, video_id) from table;
언급URL : https://stackoverflow.com/questions/15710930/mysql-select-distinct-count
'programing' 카테고리의 다른 글
준비된 설명문을 사용할 *아니오* 때는? (0) | 2023.10.17 |
---|---|
Django mariadb 오류(1045, "사용자 'myuser'@'localhost'에 대한 액세스 거부(암호: YES 사용)") (0) | 2023.10.17 |
i: nil= "true"의 의미는 무엇입니까? (0) | 2023.10.17 |
"아키텍처 암64를 x86_64에 매핑" 경고는 무엇을 의미합니까? (0) | 2023.10.17 |
C#을 사용하여 JavaScript의 이스케이프 해제() (0) | 2023.10.17 |