MySQL之分组查询(GROUPBY)酷信源代码网站
在 MySQL SELECT 语句中,允许使⽤ GROUP BY ⼦句,将结果集中的数据⾏根据选择列的值进⾏逻辑分组,以便能汇总表内容的⼦集,实现对每个组⽽不是对整个结果集进⾏整合。
语法格式如下:
mysql语句分类>c语言数组定义语句fortuner是丰田什么车多少钱GROUP BY { <;列名> | <;表达式> | <;位置> } [ASC | DESC]javafx的安装使用方法
语法说明如下:
<;列名>:指定⽤于分组的列。可以指定多个列,彼此间⽤逗号分隔。
<;表达式>:指定⽤于分组的表达式。通常与聚合函数⼀块使⽤,例如可将表达式 COUNT(*)AS' ⼈数 ' 作为 SELECT 选择列表清单的⼀项。
<;位置>:指定⽤于分组的选择列在 SELECT 语句结果集中的位置,通常是⼀个正整数。例如,GROUP BY 2 表⽰根据 SELECT 语句列清单上的第 2 列的值进⾏逻辑分组。
ASC|DESC:关键字 ASC 表⽰按升序分组,关键字 DESC 表⽰按降序分组,其中 ASC 为默认值,注意这两个关键字必须位于对应的列名、表达式、列的位置之后。
注意:GROUP BY ⼦句中的各选择列必须也是 SELECT 语句的选择列清单中的⼀项。
对于 GROUP BY ⼦句的使⽤,需要注意以下⼏点。
计算机二级c语言证书含金量高吗GROUP BY ⼦句可以包含任意数⽬的列,使其可以对分组进⾏嵌套,为数据分组提供更加细致的控制。
GROUP BY ⼦句列出的每个列都必须是检索列或有效的表达式,但不能是聚合函数。若在 SELECT 语句中使⽤表达式,则必须在GROUP BY ⼦句中指定相同的表达式。
除聚合函数之外,SELECT 语句中的每个列都必须在 GROUP BY ⼦句中给出。
若⽤于分组的列中包含有 NULL 值,则 NULL 将作为⼀个单独的分组返回;若该列中存在多个 NULL 值,则将这些 NULL 值所在的⾏分为⼀组。
【实例1】根据 dept_id 对 tb_students_info 表中的数据进⾏分组,将每个学院的学⽣姓名显⽰出来,输⼊的SQL语句和执⾏结果如下所⽰。
由运⾏结果可以看出,根据 dept_id 的不同分别统计了 dept_id 相同的姓名。
SELECT 语句中不适⽤GROUP语句如下:
不进⾏分组查询结果如下:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。