Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.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选择查询中的PHP数组_Php_Mysql - Fatal编程技术网

mysql选择查询中的PHP数组

mysql选择查询中的PHP数组,php,mysql,Php,Mysql,我正在mysql中使用一个数据库,其中有一个源记录: IP (sip) Destination IP (dip) Source Port (sport) Destination Port (dport) 执行select查询时 select count(sport) as port, sport from IPtable limit 20); 结果如下: port sport 3 80 5 8080 15 21 3 20 25 443 16 1234 49

我正在mysql中使用一个数据库,其中有一个源记录:

IP (sip)
Destination IP (dip) 
Source Port (sport) 
Destination Port (dport)
执行select查询时

select count(sport) as port, sport from IPtable limit 20);
结果如下:

port sport
3    80
5    8080
15   21
3    20
25   443
16   1234
49   2352
15   2353
我想将这些端口分组为

web (80, 8080, 443)
ftp (20, 21)
chat (2352, 2353)
others("rest other ports")
并希望输出结果为

count   port
=============
33      web
18      ftp
16      application
64      others

请提供帮助,因为我想从这个输出创建pi图表。

创建一个临时表端口| portKind与它连接并按portKind分组?首先,您必须建立一个每个端口代表什么的列表。mysql不会知道80==web。一旦您获得了带有端口到服务映射的表,那么您的查询就变成了一个简单的
join
,使用
group\u concat()