MYSQL 查(2)

比较一下两种区别:

>>select count(comm) number

FROM t_employee;

注意:4条数据记录依次是:300.00,500.00,1400.00,0.00。虽然COUNT(comm)在具体运行时,忽略了值为NULL的数据记录,但是却没有忽略值为0的数据记录,不符合实际需求。

关于统计函数的注意点:

如果所操作的表中没有任何数据记录,则COUNT()函数返回数据0,而其他函数则返回NULL。

分组数据查询--实现统计功能的分组查询

>>select deptno,GROUP_CONCAT(ename) enames,count(ename) number

from t_employee

group by deptno;

分组数据查询--实现多个字段分组查询

>>select deptno,hiredate,GROUP_CONCAT(ename) enames,COUNT(ename)

from t_employee

groub by deptno,hiredate;

分组数据查询--实现HAVING子句限定分组查询

在MYSQL中如果相对分组进行条件限制,绝不能通过关键字WHERE来实现,因为该关键字主要用来实现条件限制数据记录。为了解决上述问题,MYSQL专门提供了关键字HAVING来实现条件限制分组数据记录。

>>select deptno,AVG(sal) average,GROUP_CONCAT(ename) enames,COUNT(ename) number

from t_employee

group by deptno

HAVING AVG(sal)>2000;

时间: 2024-11-22 21:14:02

MYSQL 查(2)的相关文章

mysql查select基本入门

查询要素: 查哪张表的数据? 查哪些列? select * from class    -----表示查询所有行和列的数据 *代表所有列,表名后不加where条件,则选所有行,因此取所有行和列 例: 实验一: 取部分列,所有行,取所有人的姓名和工资 mysql> select sname,salary from class; 查id>10的人的所有列 mysql> select * from class where id>10; 实验二: 取部分行部分列 取id<10的人,取

mysql 查漏补缺

用户管理 # 创建用户 create user '用户名'@'IP地址' identified by '密码'; create user 'steven'@localhost identified by '123456'; 删除用户 drop user '用户名'@'IP地址'; drop user 'test'@localhost; 修改用户 rename user '用户名'@'IP地址' to '新用户名'@'IP地址'; rename user 'steven'@localhost to

MYSQL 查

●  简单数据记录查询 ●  条件数据记录查询 ●  排序数据记录查询 ●  限制数据记录查询 ●  统计函数和分组数据记录查询 一: 简单数据查询 mysql> select empno,ename,job,MGR,Hiredate,sal,comm,deptno from t_employee; 等价于 select * from t_employee; select empno,ename,sal from t_employee; 还可以调整select 关键字后的字段顺序,改变字段的显示

mysql 查表失败

我们数据库迁移,我进数据库的目录都需要拷贝什么到新的数据库才可以用,我直接拷贝的库报错了[]北京- 2016/1/26 16:07:33 mysql> use payment;Database changedmysql> show tables;ERROR 1018 (HY000): Can't read dir of './payment/' (errno: 13)[]北京- 2016/1/26 16:08:08 这个是老的数据库 mysql> show tables;ERROR 10

mysql查的用法

select   [all | distinct]   字段或表达式列表 [from子句]    [where子句]    [group by子句]    [having子句]    [order by子句]    [limit子句]: 解释说明: 查的字段可以自定义一个名字,比如select sno as s,这个s就代表了查到的sno字段 [all | distinct] 用于设定所select出来的数据是否允许出现重复行(完全相同的数据行) all:允许出现——默认不写就是All(允许的)

mysql 查两个表相同的值

比如一个数据库 表A和表B 都有一个username字段, 现查出与表A中username值相同的表B的username和password数据 select B.username,B.password from A,B where A.username = B.username

mysql 查排名

select count(1) as 排名 from 表名 where 分数字段 >= (select 分数字段 from 表名 where 姓名字段 = '用户名') 参考博客:http://everthinking.blog.51cto.com/4671757/1078590

mysql查一张表有哪些索引

可以用这个命令: show index from table_name; 得到输出: +------------------+------------+------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+ | Table | Non_unique | Key_name | Seq_i

将MySQL去重操作优化到极致之三弹连发(一):巧用索引与变量

元旦假期收到阿里吴老师来电,被告知已将MySQL查重SQL优化到极致:100万原始数据,其中50万重复,把去重后的50万数据写入目标表只需要9秒钟.这是一个惊人的数字,要知道仅是insert 50万条记录也需要些时间的.于是来了兴趣,自己实验.思考.总结做了一遍. 一.问题提出        源表t_source结构如下:item_id int,created_time datetime,modified_time datetime,item_name varchar(20),other var