mysql - SQL 显示从不更改但根据需要更新其他列的列的静态值

标签 mysql sql select

我想知道在 sql 中拥有一个由于 WHERE 子句而不会显示的静态列的最佳方法是什么。在下面的代码中我有一个设计师。我希望所有设计师都能出现,即使他们不满足 WHERE 条件,但具有与 WHERE 条件相关的值。

SELECT first_assigned_to AS Designer, 
           Count(DISTINCT quote_email) AS totalLeads 
    FROM   quotes_new_assigned 
    WHERE  date_first_assigned_to >= YEAR(CURDATE())
    GROUP  BY designer 

This is what the SELECT will give us at the end of the year

adam   38
bob    1711
brenda 823
chris  7
dave   426
diane  52

This is what I would like it to give (values dont matter, just notice how the ones that do not have any quotes assigned to them still show up)

adam   0
bob    0
brenda 3
chris  1
dave   0
diane  4

最佳答案

您可以在 COUNT 内使用 CASE WHEN 来做到这一点。

SELECT first_assigned_to AS Designer, 
Count(DISTINCT CASE WHEN date_first_assigned_to >= YEAR(CURDATE()) THEN quote_email END) AS totalLeads 
FROM  quotes_new_assigned  
GROUP BY first_assigned_to;

关于mysql - SQL 显示从不更改但根据需要更新其他列的列的静态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47998589/

相关文章:

mysql - 插入具有重复键和不同更新的多个值

php - 扩展查询语句以包括关注的用户

sql - 查询太复杂?使用追加查询

mysql - SQL : Select the max of two occurrences

mysql选择如果字段行为空白替换同表上另一个字段的数据

python - 命名管道不在 Python 中刷新

mysql - 通过表进行 SQL 替换

mysql - 加重旋转台设计

php - 在一个 foreach 循环中迭代 3 个表中的每一行 - PHP - Laravel

c# - 带有可选参数的 Entity Framework ?