I have mysql table like:

ID KEY_ID KEY_IDENTIY DATA_VAL
1 1 NAME Chris
2 1 AGE 5
3 2 NAME Ron
4 2 AGE 12
5 3 NAME James
6 3 AGE 16
7 5 NAME Jerry
8 5 AGE 7

To get a result as follows

1 Chris 5
2 Ron 12
3 James 16
5 Jerry 7

You need following query

select KEY_ID, max(case when KEY_IDENTIY = 'NAME' then DATA_VAL end) as name, max(case when KEY_IDENTIY = 'AGE' then DATA_VAL end) as age from tablename group by KEY_ID