可以通过在 SELECT 语句中使用 GROUP BY 子句来完成。我们可以借助 GROUP BY 子句指定列作为分组条件。由于指定的分组标准,特定列中具有相同值的行被视为单个组。这样,MySQL SELECT 语句返回的结果集就会被分组。
下面是一个很好的例子来理解它 -
我们有一个名为“employees”的表,如下 -
mysql> Select * from employees; +------+-------------+--------+------------+ | id | designation | Salary | DoJ | +------+-------------+--------+------------+ | 100 | Asst.Prof | 50000 | 2016-06-15 | | 300 | Prof | 85000 | 2010-05-18 | | 250 | Asso.Prof | 74000 | 2013-02-12 | | 400 | Prof | 90000 | 2009-05-19 | | 200 | Asst.Prof | 60000 | 2015-05-11 | +------+-------------+--------+------------+ 5 rows in set (0.00 sec)
现在在以下脚本的帮助下,我们将输出分组;
mysql> select designation, count(*), AVG(salary) from employees group by designation; +-------------+----------+-------------+ | designation | count(*) | AVG(salary) | +-------------+----------+-------------+ | Asso.Prof | 1 | 74000.0000 | | Asst.Prof | 2 | 55000.0000 | | Prof | 2 | 87500.0000 | +-------------+----------+-------------+ 3 rows in set (0.00 sec)
以上查询返回的结果集为 Asso.Prof,总共 1 个,平均工资为 74000,Asst.Prof,总共 2 个,平均工资为 55000,Prof,总共 2 个,平均工资为 74000。平均工资87500。
以上是如何对MySQL返回的结果集进行分组呢?的详细内容。更多信息请关注PHP中文网其他相关文章!