You can try like this:-
declare @columns varchar(max)
declare @convert varchar(max)
select @columns =stuff((select '],[' + particular from tblName order by '],['
+ convert(varchar(max),points) desc
for xml path('')),1,2,'') + ']'
set @convert= 'select * from (select * from tblName) contributors
pivot (sum(points) for particulars in (' +@Columns + ')) as pivottbl'
execute (@convert)