注意:select 后的字段,必须要么包含在group by中,要么包含在having 后的聚合函数里. 1. GROUP BY 是分组查询, 一般 GROUP BY 是和聚合函数配合使用 group by 有一个原则,就是 select 后面的所有列中,没有使用聚合函数的列,必须出现在 group by 后面(重要) 例如,有如下数据库表: A B 1 abc 1 bcd 1 asdfg 如果有如下查询语句(该语句是错误的,原因见前面的原则) select A,B fr
1.count(1) 返回为0 如果所查询的表或者where条件筛选后得到的结果集为空,则 count(1)返回为 0 如: select count(id) from test; select count(id) from test where id < 0; 返回为NULL 如果所查询的表或者where条件筛选后得到的结果集为空且当前层查询中使用了group by ,则 count(1)返回为 NULL 如: select count(id) from test group by id; s
笛卡尔集 l 笛卡尔集会在下面条件下产生: 省略连接条件 连接条件无效 所有表中的所有行互相连接 l 为了避免笛卡尔集, 可以在 WHERE 加入有效的连接条件. 自连接 select m.last_name,m.email,m.salary from employees e,employees m where e.employee_id = m.manager_id and m.last_name='Chen'; 自己和自己连接,将一张表分为两张表查询使用 非等值连接 SELECT e.l
mysql 分组和聚合函数 Mysql 聚集函数有5个: 1.COUNT() 记录个数(count(1),count(*)统计表中行数,count(列名)统计列中非null数) 2.MAX() 最大值 3.MIN() 最小值 4.AVG()平均值 5.SUM() 求和 聚集函数常常和分组一起工作. 1.创建分组 select name, max(age) from stu group by name; 2.过滤分组 select name, max(age) from stu group by
字符串函数 1.concat 函数 drop table test;create table test(id int(4), name varchar(10), sex char(2));insert into test values(1, 'Tom', '男');select concat(id, name, sex) from test; //查询结果:1Tom男select concat(id, '-', name, sex) from test; //查询结果:1-Tom男update
MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT column_name, function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name; 实例演示 本章节实例使用到了以下表结构及数据,使用前我们可以先将以下数据导入数据库中.