Difference between Group by and Order by statements

In SQL, what is the difference between Group by and Order by statements? Also, I would like to know which statement to choose in a scenario where you need to count something? Can you please define the sub-query method used in Group by statement? ?
