정렬, 그룹핑, 집계, 필터링을 사용해서 추출 작업을 고도화할 수 있다. 결과를 정렬하려면 ORDER BY를 사용한다(여러 열을 기준으로 내림차순과 오름차순으로 정렬하는 것이 가능하다).
SELECT*FROM employee WHERE hired>= '2000-01-01' ORDER BY salary DESC;
>>>
+----+---------------------+--------------+--------+------------+
| id | updated | empname | salary | hired |
+----+---------------------+--------------+--------+------------+
| 4 | 2016-01-09 17:35:11 | Jane Doe | 75000 | 2011-11-11 |
| 1 | 2016-01-09 17:31:29 | John Smith | 36000 | 2016-01-09 |
| 6 | 2016-01-09 17:55:24 | Anon I. Muss | 14000 | 2011-01-01 |
+----+---------------------+--------------+--------+------------+
3 rows in set (0.01 sec)
데이터를 그룹핑하고 집계하려면 GROUP BY와 COUNT(), MIN(), MAX(), SUM(), AVG() 같은 집계 함수를 사용한다.
SELECT(hired>'2001-01-01') AS Recent, AVG (salary) FROM employee
GROUP BY (hired>'2001-01-01');
>>>
+--------+----------------------+
| Recent | AVG(salary) |
+--------+----------------------+
| 0 | 0.009999999776482582 |
| 1 | 41666.666666666664 |
+--------+----------------------+
2 rows in set (0.00 sec)