다음과 같은 것이 가능합니까?
SELECT DISTINCT COUNT(productId) WHERE keyword='$keyword'
내가 원하는 것은 키워드와 관련된 고유 제품 ID의 수를 얻는 것입니다. 동일한 제품이 키워드와 두 번 이상 연결될 수 있지만 제품 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;