1.普通的数据表格
2.转换成下面这种表格结构统计
1.cl.cont 当数据本条数据的条数不仅仅只有一条是
SELECT
qu.device_id,
sum( IF ( cl.err_code = 'net_err', cl.count, 0 ) ) AS net_err,
sum( IF ( cl.err_code = 'ble_err', cl.count, 0 ) ) AS ble_err,
IFNULL(tmcq.client_stace, 0) as clientStace
FROM
tb_ma_quipment qu
LEFT JOIN tb_client_log cl ON qu.device_id = cl.device_id
LEFT JOIN tb_ma_client_quipment tmcq ON qu.device_id = tmcq.device_id
GROUP BY
qu.device_id
ORDER BY
net_err DESC,
ble_err DESC
IFNULL(tmcq.client_stace, 0) as clientStace
用于多选框时的标记,这里mysql不能用sum,是用于去标记的值
2.如果本条数据仅仅只代表一条异常信息时
SELECT
qu.device_id,
sum(IF(( CASE cl.err_code WHEN 'net_err' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'net_err' THEN 1 END ) ) ) AS hid_err,
sum(IF(( CASE cl.err_code WHEN 'ble_err' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'ble_err' THEN 1 END ) ) ) AS ble_err,
sum(IF(( CASE cl.err_code WHEN 'web_err41' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'web_err41' THEN 1 END ) ) ) AS web_err41,
sum(IF(( CASE cl.err_code WHEN 'ukey_err' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'ukey_err' THEN 1 END ) ) ) AS ukey_err,
sum(IF(( CASE cl.err_code WHEN 'hid_err' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'hid_err' THEN 1 END ) ) ) AS hid_err,
sum(IF(( CASE cl.err_code WHEN 'web_err43' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'web_err43' THEN 1 END ) ) ) AS web_err43,
sum(IF(( CASE cl.err_code WHEN 'web_err44' THEN 1 END ) IS NULL,0,
( CASE cl.err_code WHEN 'web_err44' THEN 1 END ) ) ) AS web_err44 ,
IFNULL(tmcq.client_stace,0) as clientStace
FROM
tb_ma_quipment qu
LEFT JOIN tb_client_log cl ON qu.device_id = cl.device_id
left join tb_ma_client_quipment tmcq on qu.device_id=tmcq.device_id
GROUP BY
qu.device_id
ORDER BY
err_code desc,ble_err desc,web_err41 desc,ukey_err desc,ukey_err desc,hid_err desc,web_err43 desc,web_err44 desc