2017-01-14 3 views
-1

Я пытаюсь получить свой результат от MYSQL запроса в приведенном ниже форматеФормат запросов MySQL результат в нужный формат

Date: '2016-01-01', Resource_1: 100, Resource_2: 90, Resource_3:30, Resource_4: 20 
Date: '2016-01-02', Resource_1: 0, Resource_2: 20, Resource_3:100, Resource_4: 40 
Date: '2016-01-03', Resource_1: 70, Resource_2: 40, Resource_3:0, Resource_4: 50 
Date: '2016-01-04', Resource_1: 10, Resource_2: 0, Resource_3:30, Resource_4: 0 

Мой MYSQL результат наступающем в следующей форме:

2016-01-01|Resource_1|100 
2016-01-01|Resource_2|90 
2016-01-01|Resource_3|30 
2016-01-01|Resource_4|20 
2016-01-02|Resource_1|0 
2016-01-02|Resource_2|20 
2016-01-02|Resource_3|100 
2016-01-02|Resource_4|40 
2016-01-03|Resource_1|70 
2016-01-03|Resource_2|40 
2016-01-03|Resource_3|0 
2016-01-03|Resource_4|50 
2016-01-04|Resource_1|10 
2016-01-04|Resource_2|0 
2016-01-04|Resource_3|30 
2016-01-04|Resource_4|0 

Как Я получаю его в желаемом формате в MYSQL.

Я хотел бы отметить, что моя структура таблицы выглядит следующим образом:

DATE|RESOURCE_NAME|MARKS 

Я использовал ниже запрос, чтобы получить предыдущий результат

SELECT cd.cd_claim_dt AS cdt,res.res_Name AS NAME, 
SUM(CASE WHEN MONTH(cd.cd_claim_dt) = 1 AND YEAR(cd.cd_claim_dt) = 2016 THEN  
ct.ct_duration ELSE 0 END) claimed_hrs 
FROM 
tbl_claim_data cd, tbl_claim_time ct, tbl_resourceinfo res 
WHERE 
ct.cd_slno = cd.cd_slno AND MONTH(cd.cd_claim_dt) = 1 AND 
YEAR(cd.cd_claim_dt) = 2016 AND cd.app_SlNo = 35 AND 
cd.res_slno IN(17,22,23,24) AND res.res_SlNo = cd.res_slno 
GROUP BY 
cd.res_slno, cd.cd_claim_dt, cd.cd_status 
ORDER BY 
cd.cd_claim_dt 
+0

Простой цикл в некотором коде приложения будет достаточно – Strawberry

+0

Yea нужно помочь с этим или, если возможно, то формат вывода данных MySQL –

+0

Есть тысячи статей по обработке результатов MySQL в PHP – Strawberry

ответ

0

запроса попробовать этот запрос

select group_concat(concat('date:',DATE,':',RESOURCE_NAME,':',MARKS) 
separator ' , ')from mytable group by DATE order by DATE desc; 

Вы также можете использовать concat_ws() instandof CONCAT() функции

Смежные вопросы