SQL을 사용하여 고유 한 레코드를 계산하고 테이블에서 이러한 독창적 인 수를 얻는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/237302

문제

다음과 같은 테이블이 있다고 상상해보십시오.

ID : 제품 : shop_id

1 : 농구 : 41

2 : 축구 : 41

3 : 로켓 : 45

4 : 자동차 : 86

5 : 비행기 : 86

이제 이것은 한 고객에게 판매하는 상점이있는 대형 인터넷 쇼핑몰의 예이므로 고객은 각 상점에서 더 많은 제품을 선택하고 한 바구니로 구입할 수 있습니다.

그러나 고객 바구니에 고유 한 Shop_ID와 해당 상점의 총 수를 간단히 얻을 수있는 SQL 구문이 있는지 확실하지 않습니다. 그래서 나는 다음과 같은 것을 얻을 것입니다.

Shop 41에는 2 개의 제품이 있습니다

쇼핑 45 하나의 제품

쇼핑 86 두 제품

나는 모든 제품 'shop_ids를 저장하는' 'number_of_products'] 배열 변수를 만들기 위해 테이블을 통해 SQL 쿼리를 만들 수 있습니다. Shop_id는 약간 남아 있지만 쓸모없는 스크립팅으로 보입니다.

멋지고 깔끔한 아이디어가 있다면 알려주세요.

도움이 되었습니까?

해결책

이것은 정확히 집계 기능을위한 것입니다. 테이블의 각 행 그룹에 대해 한 줄의 출력을 만듭니다. shop_id로 그룹화하고 각 그룹에 얼마나 많은 행이 있는지 계산하십시오.

select shop_id, count(1) from TABLE_NAME
  group by shop_id
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top