136 votes

À l'aide DISTINCTES et de les COMPTER ensemble dans une Requête MySQL

Est quelque chose comme cela possible:

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

Ce que je veux, c'est pour obtenir le nombre de unique Id de produit qui sont associés à un mot-clé. Le même produit peut être associé à deux reprises avec un mot clé, ou plus, mais je voudrais seulement 1 fois pour être comptés par l'ID du produit

300voto

David Points 2491

utilisation

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

70voto

Gratzy Points 4829

Je voudrais faire quelque chose comme ceci:

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

qui vous donnera une liste comme

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

Cela vous permet de voir combien de chaque distinctes productid ID est associé avec le mot-clé.

38voto

tekBlues Points 4346

Vous avez été près :-)

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

23voto

Alistair Hart Points 49

Pour info, c'est probablement plus rapide,

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

que cette,

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

9voto

George SEDRA Points 166

Ce que l'enfer de tout ce travail anthères

c'est trop simple

si vous voulez une liste de combien productId dans chaque mot clé, ici, c'est le code

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X