mysql - 在 Where 中使用 Count 和 Distinct

标签 mysql sql count

我正在尝试显示不同品牌的下拉列表,此外我希望显示与 WHERE 语句匹配的项目数量的摘要。环顾四周,我只能找到部分问题的解决方案,但不能找到需要嵌套的 SELECT WHERE 部分......

到目前为止的进展...

SELECT brand,COUNT(DISTINCT linked_id WHERE done=0) as count FROM products GROUP BY brand ORDER BY brand;

这显然不会运行,但确实为我想要实现的目标提供了一些 sudo。

有没有人做过这样的事情?

最佳答案

你可能想要这样的东西?

SELECT 
    brand, 
    COUNT(DISTINCT CASE WHEN done = 0 THEN linked_id ELSE NULL END) AS count 
FROM 
    products 
GROUP BY 
    brand 
ORDER BY 
    brand;

编辑以删除 [count] 并使其恢复计数。

关于mysql - 在 Where 中使用 Count 和 Distinct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49410623/

相关文章:

php - 使用数据库 session 登录?

python - mysql查询的响应以一种顺序返回键,但使用python以不同的顺序保存

java - 通信链路故障 - 从服务器成功接收到的最后一个数据包是

sql - 复制时插入带有标识列的表会导致 SQL Server 出错

mysql - 计算mysql中的连接列

mysql - Rails mysql 错误问题 - 可能表未链接

php - PHP 不工作时输出 MySQL 查询的单个结果

php - 从平面表生成层次结构

mysql group by multiple columns with count - 不分组所有答案

mysql 游标中的记录数没有迭代?