Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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 4.0.16无子查询更新表_Mysql_Sql_Pivot - Fatal编程技术网

MySQL 4.0.16无子查询更新表

MySQL 4.0.16无子查询更新表,mysql,sql,pivot,Mysql,Sql,Pivot,我有一个呼叫记录数据库,我想从中提取团队信息。它运行在一台旧的MySQL 4.0.16服务器上,因此我很难在没有子查询/视图的情况下获取数据,并且正在寻找一个正确的方向,因为我还是MySQL/PHP新手 源表的格式为: callid | team | status --------------------------- 15432 | team A | open 15433 | team B | open 15434 | team A | onhold 15435 | team A

我有一个呼叫记录数据库,我想从中提取团队信息。它运行在一台旧的MySQL 4.0.16服务器上,因此我很难在没有子查询/视图的情况下获取数据,并且正在寻找一个正确的方向,因为我还是MySQL/PHP新手

源表的格式为:

callid | team   | status
---------------------------
15432  | team A | open
15433  | team B | open
15434  | team A | onhold
15435  | team A | closed
15436  | team A | closed
我想输出每个状态下每个团队的呼叫数,因此它应该如下所示:

team   | open | onhold | closed
--------------------------------
team A | 1    | 1      | 2
team B | 1    | 0      | 0
这可以是select语句,也可以是使用临时表和多个查询的语句,因为其中任何一个都允许我使用数据显示整个团队信息


我已经创建了temp表,并用团队名称和onhold等数字的零来填充它,但是我没有找到一个update语句,该语句将在没有子查询的情况下添加每个团队每个状态的呼叫数。在MySQL 4.0.16中实现这一点的最佳方式是什么?感谢您提供的任何帮助。

您可以使用带有大小写表达式的聚合函数以所需格式获取数据:

select team,
  sum(case when status = 'open' then 1 else 0 end) Open,
  sum(case when status = 'onhold' then 1 else 0 end) Onhold,
  sum(case when status = 'closed' then 1 else 0 end) Closed
from yourtable
group by team

结果是:

|   TEAM | OPEN | ONHOLD | CLOSED |
-----------------------------------
| team A |    1 |      1 |      2 |
| team B |    1 |      0 |      0 |

打败我!我会将条件快捷方式设置为
sum(status='open')
,因为MySQL将返回1或0进行比较,但您的版本可能更便于移植。非常感谢BlueFoots和TheVedge-它在SQL查询编辑器中提供了我需要的数据,所以现在可以通过PHP将其转换为Google图表表可视化,这样看起来很好。我觉得我太专注于我创建的临时表,并试图让它以这种方式工作,而这要简单得多。再次感谢@Roboto先生很乐意帮忙。:)可能重复的