Javascript 如何在mysql中将多个结果连接成几个通用结果?
我打算画一个条形图。x轴包含标签。标签是从mysql请求生成的。标签也太多,无法放入页面图形中。我打算将一些熟悉的标签组合成一个。我相信existign设置很好,但是我想编辑我的mysql查询以适应这个问题 一个澄清问题的例子 这是我当前的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
$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