IT

MySQL 쿼리에서 DISTINCT와 COUNT를 함께 사용

lottoking 2020. 7. 15. 07:15
반응형

MySQL 쿼리에서 DISTINCT와 COUNT를 함께 사용


이와 같은 것이 가능합니까?

SELECT DISTINCT COUNT(productId) WHERE keyword='$keyword'

내가 원하는 것은 키워드와 관련된 고유 한 제품 ID 수를 얻는 것입니다. 동일한 제품이 키워드와 두 번 이상 연관 될 수 제품 ID 당 한 번만 계산하고 싶습니다.


사용하다

SELECT COUNT(DISTINCT productId) from  table_name WHERE keyword='$keyword'

나는 이런 식으로 할 것입니다 :

Select count(*), productid
from products
where keyword = '$keyword'
group by productid

그것은 당신에게 같은 목록을 줄 것입니다

count(*)    productid  
----------------------
 5           12345   
 3           93884   
 9           93493    

이를 통해 키워드와 구매 제품 ID의 수를 확인할 수 있습니다.


당신은 가까이 :-)

select count(distinct productId) from table_name where keyword='$keyword'

참고로, 아마도 더 빠를 것입니다.

SELECT count(1) FROM (SELECT distinct productId WHERE keyword = '$keyword') temp

이것보다,

SELECT COUNT(DISTINCT productId) WHERE keyword='$keyword'


이 모든 일의 지옥은 무엇입니까?

너무 간단하다

각 키워드에서 productId의 양을 여기에 코드가 있습니다.

SELECT count(productId),  keyword  FROM `Table_name` GROUP BY keyword; 

제품 별 고유 제품 및 앰프 수 선택

이 유형의 질문에 대한 또 다른 대답은 아래 샘플과 같이 제품 이름을 기준으로 제품 수를 계산하는 또 다른 대답입니다.

테이블 값

select * FROM Product

계산 된 제품 이름

SELECT DISTINCT(Product_Name),
(SELECT COUNT(Product_Name) 
from Product  WHERE Product_Name = Prod.Product_Name)  
as `Product_Count`
from Product as Prod

레코드 수 : 4; 실행 시간 : 2ms


그룹별로 더 좋지 않은 혜택이 있습니까? 다음과 같은 것 :

SELECT COUNT(*) FROM t1 GROUP BY keywork;

참고 URL : https://stackoverflow.com/questions/1002349/using-distinct-and-count-together-in-a-mysql-query

반응형