2016-09-06 65 views
0
username skill  mark 

x   writing 10 
x   reading 11 

a   writing 15 
a   reading 14 

我想要得到的O/P是这样的:SQL查询来获取用户的数据在一排

x  10 11 
y  15 14 
+1

你应该首先阅读这个[如何问](http://stackoverflow.com/help/how-to-ask),然后你可以重写你的问题,显示你的尝试,并标记正确的RDBMS。 –

回答

0
select username,skill,mark from Your_table;#this fetches only 3 

Or 

select * from Your_table; #this will fetch all fields of your table 
+0

我认为这个表有3列,所以如果我正确地理解了op,你必须加入他们的用户名。 –

+0

来自不同表格的那些字段?我不清楚 –

+0

这个问题来自同一张表 – minu

1

有条件的聚集是要走的路:

SELECT t.username, 
     MAX(CASE WHEN t.skill = 'writing' THEN t.mark END) as writing_mark, 
     MAX(CASE WHEN t.skill = 'reading' THEN t.mark END) as reading_mark 
FROM YourTable t 
GROUP BY t.username