I think you misunderstand what GROUP BY really does. the GROUP BY clause will actually look at all the rows and based upon the column(s) set in the GROUP BY clause, it will merge those rows together as one single row.
So for example, if you wanted to know how many rows of each category you had, you could execute something like:
SELECT Category, COUNT(*) AS `num` FROM wap_content GROUP BY Category
You probably wanted to ORDER BY Category, id ASC so that the entire result set would be ordered by Category (thus "grouping" them together in one spot) and then ordering them by ID within each category.