Mysql 从结果中删除空值

Mysql 从结果中删除空值,mysql,Mysql,我有下面的问题。 如何从查询结果中删除空值? 这样就只剩下一行了 SELECT CASE WHEN department = 'РФ' THEN avg_time END AS `РФ`, CASE WHEN department = 'ЕС' THEN avg_time END AS `ЕС`, CASE WHEN department = 'Аутсорс' THEN avg_time END AS `Аутсорс` FROM (

我有下面的问题。 如何从查询结果中删除空值? 这样就只剩下一行了

SELECT
    CASE
WHEN department = 'РФ' THEN
    avg_time
END AS `РФ`,
 CASE
WHEN department = 'ЕС' THEN
    avg_time
END AS `ЕС`,
 CASE
WHEN department = 'Аутсорс' THEN
    avg_time
END AS `Аутсорс`
FROM
    (
        SELECT
            department,
            (sum(apruv) / count(*) * 100) AS avg_time
        FROM
            report_designer
        WHERE TIMESTAMPDIFF(
            MINUTE,
            createdtime_spec,
            first_status_change
        ) <= 15
        GROUP BY
            department
    ) x
查询结果为

如何从查询结果中删除空值? 因此,只剩下一行

一种方法是使用:

SELECT
    CASE
WHEN department = 'РФ' THEN
    avg_time
END AS `РФ`,
 CASE
WHEN department = 'ЕС' THEN
    avg_time
END AS `ЕС`,
 CASE
WHEN department = 'Аутсорс' THEN
    avg_time
END AS `Аутсорс`
FROM
    (
        SELECT
            department,
            (sum(apruv) / count(*) * 100) AS avg_time
        FROM
            report_designer
        WHERE TIMESTAMPDIFF(
            MINUTE,
            createdtime_spec,
            first_status_change
        ) <= 15
        GROUP BY
            department
    ) x
SELECT 
    (SELECT (sum(apruv) / count(*) * 100) AS avg_time
    FROM report_designer
    WHERE TIMESTAMPDIFF(MINUTE,createdtime_spec,first_status_change) <= 15
      AND department = 'РФ') AS `РФ`,
    (SELECT (sum(apruv) / count(*) * 100) AS avg_time
    FROM report_designer
    WHERE TIMESTAMPDIFF(MINUTE,createdtime_spec,first_status_change) <= 15
      AND department = 'EC') AS `EC`,
    (SELECT (sum(apruv) / count(*) * 100) AS avg_time
    FROM report_designer
    WHERE TIMESTAMPDIFF(MINUTE,createdtime_spec,first_status_change) <= 15
      AND department = 'Аутсорс') AS `Аутсорс`;

这将返回不一致的值。例如,如果一个部门的采购订单为空,但EC不为空,则应用上述转换将返回不为空的采购订单值,这将是错误的。