Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.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
为空值和汇总重命名NULL的SQL_Sql_Rollup - Fatal编程技术网

为空值和汇总重命名NULL的SQL

为空值和汇总重命名NULL的SQL,sql,rollup,Sql,Rollup,我正在尝试制作一个仪表板,以按优先级显示打开的票证以及分配给谁。数据集如下所示: |-------------------------| | Assigned | Priority | |-------------------------| | JOE | Low | | JOE | Medium | | MARY | High | | | Medium | | TIM

我正在尝试制作一个仪表板,以按优先级显示打开的票证以及分配给谁。数据集如下所示:

|-------------------------|
|  Assigned  |  Priority  |
|-------------------------|
|  JOE       |  Low       |
|  JOE       |  Medium    |
|  MARY      |  High      |
|            |  Medium    |
|  TIM       |  Low       |
|  Mary      |  High      |
我想得到的报告是:

|---------------------------------------------------------|
|  Employee  |  Low   |   Medium   |   High   |   Total   |
|---------------------------------------------------------|
| Total      |   2    |     2      |    2     |     6     |
| Unassigned |   0    |     1      |    0     |     1     |
|  MARY      |   0    |     0      |    2     |     2     |
|  JOE       |   1    |     1      |    0     |     2     |
|  TIM       |   1    |     0      |    0     |     1     |
通过这个查询,我可以得到所有信息

SELECT
    CASE WHEN Assigned is null then 'Unassigned' Else Assigned End Employee
    ,   SUM(CASE WHEN Priority = 'Low' THEN 1 ELSE 0 END) AS Low
    ,   SUM(CASE WHEN Priority = 'Medium' THEN 1 ELSE 0 END) AS Medium
    ,   SUM(CASE WHEN Priority = 'High' THEN 1 ELSE 0 END) AS High
    ,   count(Priority) AS Total
FROM table
GROUP BY Assigned WITH ROLLUP
ORDER BY Assigned ASC
然而,通过这种方式,它将任何为NULL的内容重命名为Unassigned。这是完美的给我的未赋值值,没有任何人在指定的领域,但我的总列也显示未赋值。如何将其重命名为Total

提前谢谢

您需要这样使用:

|   EMPLOYEE | LOW | MEDIUM | HIGH | TOTAL |
|------------|-----|--------|------|-------|
| Unassigned |   0 |      1 |    0 |     1 |
|        JOE |   1 |      1 |    0 |     2 |
|       MARY |   0 |      0 |    2 |     2 |
|        TIM |   1 |      0 |    0 |     1 |
|      Total |   2 |      2 |    2 |     6 |

你的关系数据库管理系统是什么:SQL Server、Oracle、MySQL等等?我不完全理解你的问题?您的
Total
列应该显示每条记录的计数,而不是单词
Unassigned
。另外,您可以将
CASE
语句更改为just
COALESCE(Assigned,'Unassigned')
|   EMPLOYEE | LOW | MEDIUM | HIGH | TOTAL |
|------------|-----|--------|------|-------|
| Unassigned |   0 |      1 |    0 |     1 |
|        JOE |   1 |      1 |    0 |     2 |
|       MARY |   0 |      0 |    2 |     2 |
|        TIM |   1 |      0 |    0 |     1 |
|      Total |   2 |      2 |    2 |     6 |