Hi Prasunjeet,
Please refer the below code which full-fill your requirement.
SQL
DECLARE @userinfo TABLE (userid INT, free VARCHAR(10),premium VARCHAR(10),udate DATETIME)
INSERT INTO @userinfo VALUES(1,'yes','no','2015/05/31'),
(2,'no','yes','2015/01/05'),
(3,'no','yes','2015/02/05'),
(4,'yes','no','2015/02/05'),
(5,'yes','no','2015/06/30')
SELECT userid,free,premium,CONVERT(VARCHAR(20),udate,101) udate
FROM @userinfo ORDER BY ISNULL(UPPER(free),'NO'),udate DESC
Screenshot