这样的事情是可能的:
SELECT DISTINCT COUNT(productId) WHERE keyword='$keyword'
我想要的是获取与关键字相关联的唯一产品ID的数量。同一产品可能会与关键字相关联两次或更多,但我希望每个产品ID只计算一次
答案 0 :(得分:254)
使用
SELECT COUNT(DISTINCT productId) from table_name WHERE keyword='$keyword'
答案 1 :(得分:52)
我会做这样的事情:
Select count(*), productid
from products
where keyword = '$keyword'
group by productid
将为您提供类似
的列表count(*) productid
----------------------
5 12345
3 93884
9 93493
这使您可以查看每个不同的产品ID中有多少与关键字相关联。
答案 2 :(得分:31)
你很亲密: - )
select count(distinct productId) from table_name where keyword='$keyword'
答案 3 :(得分:16)
仅供参考,这可能更快,
SELECT count(1) FROM (SELECT distinct productId WHERE keyword = '$keyword') temp
比这个,
SELECT COUNT(DISTINCT productId) WHERE keyword='$keyword'
答案 4 :(得分:6)
所有这些工作花了什么花药
太简单了
如果你想要列出每个关键字中productId的数量,那就是代码
SELECT count(productId), keyword FROM `Table_name` GROUP BY keyword;
答案 5 :(得分:3)
关于这类问题的另一个答案这是我的另一个答案,就是根据产品名称来计算产品名称,如下例所示:
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;执行时间:2毫秒
答案 6 :(得分:-5)
一群人不是更好吗? 类似的东西:
SELECT COUNT(*) FROM t1 GROUP BY keywork;