Duplicate of: GROUP BY without aggregate function
If you have a group by clause, only those fields in the group by and aggregate functions can be returned.
For example your second query:
select s.name, s.description from Searchresult s group by s.name
If you are collapsing all the records by s.name, what s.descriptions should the RDBMS return? There could be many s.decsription all with the same s.name.
Decide which you want back with an aggregate function:
select s.name, max(s.description) from Searchresult s group by s.name