Javascript 如何在mysql中将多个结果连接成几个通用结果?

Javascript 如何在mysql中将多个结果连接成几个通用结果?,javascript,php,mysql,Javascript,Php,Mysql,我打算画一个条形图。x轴包含标签。标签是从mysql请求生成的。标签也太多,无法放入页面图形中。我打算将一些熟悉的标签组合成一个。我相信existign设置很好,但是我想编辑我的mysql查询以适应这个问题 一个澄清问题的例子 这是我当前的mysql查询 $query = "SELECT DISTINCT HITYPE, SUM(IF(STATUS = 'OPEN',1,0)) AS OPEN, SUM(IF(STATUS = 'CLOSED',1

我打算画一个条形图。x轴包含标签。标签是从mysql请求生成的。标签也太多,无法放入页面图形中。我打算将一些熟悉的标签组合成一个。我相信existign设置很好,但是我想编辑我的mysql查询以适应这个问题

一个澄清问题的例子

这是我当前的mysql查询

$query = "SELECT DISTINCT HITYPE,
            SUM(IF(STATUS = 'OPEN',1,0)) AS OPEN,
            SUM(IF(STATUS = 'CLOSED',1,0)) AS CLOSED,
            COUNT(STATUS) AS 'TOTAL'
            FROM hazardreport WHERE HITYPE IS NOT NULL AND RISKLEVEL='$risklevel' AND DATE(DREPORTED) BETWEEN '$dateone' AND 
            '$datetwo'
            GROUP BY HITYPE
            ORDER BY TOTAL DESC";
生成的数据是

item1, 1, 0, 1
item1.1 , 3 , 2 , 5
item2 , 1 , 1 , 2
item2.2, 5, 1 , 6
我想编辑查询,以便生成的数据可以组合为:

item 1, 4, 2 , 6
item 2, 6, 2, 8

我希望这是有道理的

尝试按hitype字符串值的第一部分对结果进行分组

SELECT HITYPE,
SUM(IF(STATUS = 'OPEN',1,0)) AS OPEN,
SUM(IF(STATUS = 'CLOSED',1,0)) AS CLOSED,
COUNT(STATUS) AS TOTAL
from (
    select SUBSTRING_INDEX(HITYPE, '.', 1) as HITYPE, status
    FROM hazardreport WHERE HITYPE IS NOT NULL AND RISKLEVEL='$risklevel'
    AND DATE(DREPORTED) BETWEEN '$dateone' AND '$datetwo'
) as results
GROUP BY HITYPE
ORDER BY TOTAL DESC

尝试按hitype字符串值的第一部分对结果进行分组

SELECT HITYPE,
SUM(IF(STATUS = 'OPEN',1,0)) AS OPEN,
SUM(IF(STATUS = 'CLOSED',1,0)) AS CLOSED,
COUNT(STATUS) AS TOTAL
from (
    select SUBSTRING_INDEX(HITYPE, '.', 1) as HITYPE, status
    FROM hazardreport WHERE HITYPE IS NOT NULL AND RISKLEVEL='$risklevel'
    AND DATE(DREPORTED) BETWEEN '$dateone' AND '$datetwo'
) as results
GROUP BY HITYPE
ORDER BY TOTAL DESC