在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 

这使您可以查看每个不同的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' 

这一切工作到底是什么花药

这太简单了

如果你想要一个关于每个关键字有多lessproductId的列表,这是代码

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

对一个小组来说不是更好吗? 就像是:

 SELECT COUNT(*) FROM t1 GROUP BY keywork;