Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 根据1个字段或其他字段选择计数-条件计数_Mysql_Mysqli_Count - Fatal编程技术网

Mysql 根据1个字段或其他字段选择计数-条件计数

Mysql 根据1个字段或其他字段选择计数-条件计数,mysql,mysqli,count,Mysql,Mysqli,Count,填写此表单时,或者更确切地说,插入表时,表管理员id和代表管理员id中有2个字段,其中一个字段将被填写,另一个字段将为0。现在我需要两个经理id或代表经理id相同的计数,表的结构如下: Table : Feedbacks id manager_id on_behalf_manager_id score created status 1 2 0 20 2017-08-17

填写此表单时,或者更确切地说,插入表时,表管理员id和代表管理员id中有2个字段,其中一个字段将被填写,另一个字段将为0。现在我需要两个经理id或代表经理id相同的计数,表的结构如下:

Table : Feedbacks
id    manager_id     on_behalf_manager_id    score    created     status
1     2              0                       20       2017-08-17  1
2     2              0                       21       2017-08-18  1
3     0              2                       20       2017-08-17  1
4     1              0                       10       2017-08-17  1
5     2              0                       17       2017-08-17  1
6     0              1                       20       2017-08-17  1
7     0              2                       18       2017-08-17  1
因此,我在实现计数时的最终结果应该是

manag_id          count
1                 2
2                 5

我读了很多书,但找不到确切的答案。我想到的唯一解决办法是内心的质疑。这会增加我的知识,也会达到我的目的。非常感谢您的帮助。

我不能100%确定这是否符合您的需要,但这可能会引导您走向正确的方向:

SELECT
    CASE
WHEN manager_id = 0 THEN
    on_behalf_manager_id
ELSE
    manager_id
END AS manag_id,
 count(
    CASE
    WHEN manager_id = 0 THEN
        on_behalf_manager_id
    ELSE
        manager_id
    END
) AS count
FROM
    feedback
GROUP BY
    CASE
WHEN manager_id = 0 THEN
    on_behalf_manager_id
ELSE
    manager_id
END

您尝试过查询了吗?这2和5个计数基于什么?为什么manager
0
没有出现在您的预期输出中?@RootIngenious总数来自manager\u id字段或代表manager\u id字段,因此如果一个字段为零,我们可以取另一个。@TimBiegeleisen实际上,如果manager为零,那么我们需要选择值从代表经理id的另一个字段。同时检查我之前的评论。希望它能让你理解这个场景。谢谢你的帮助!