programing

MySQL 쿼리에서 DISTINT 및 COUNT 함께 사용

bestcode 2022. 9. 26. 23:05
반응형

MySQL 쿼리에서 DISTINT 및 COUNT 함께 사용

다음과 같은 것이 가능합니까?

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

제가 원하는 것은 키워드와 관련된 고유 제품 ID의 수를 얻는 것입니다.같은 상품을 키워드와 2회 이상 관련지을 수 있지만, 상품 ID별로 1회만 계산해 주셨으면 합니다.

사용하다

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    

이를 통해 키워드에 관련되어 있는 개별 productid 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

반응형