mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】

注:文中所有的。。。代表多个。

1、使用count统计条数:select count(字段名。。。) from tablename;

2、使用avg计算字段的平均值:select avg(字段名) from tablename;

这里都可以适当的拓展,比如加条件,重命名等等。

3、使用sum求和:select sum(字段名) from tablename;

4、使用max和min求最大值、最小值:

5、注意:使用这些函数时,如果数据库中没有数据,count返回0,其他的返回null;

6、使用group by对数据进行分组:select 字段名。。。 from tablename group by 字段名。。。;可以把分组、排序、统计等等都结合在一起使用,实际应用中也多是这样的:

7、使用group_concat()实现显示没个分组中的字段:

8、如果要在分组查询中加入条件,则必须使用having而不是where:

9、如果使用条件分组的同时还要排序,则order by必须位于having后边:

时间: 2024-11-15 20:53:48

mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】的相关文章

mysql常用基础操作语法(十)~~子查询【命令行模式】

mysql中虽然有连接查询实现多表连接查询,但是连接查询的性能很差,因此便出现了子查询. 1.理论上,子查询可以出现在查询语句的任何位置,但实际应用中多出现在from后和where后.出现在from后的子查询结果通常是多行多列的,充当临时表:而出现在where后的子查询结果通常是单行单列,充当条件: 2.where后作为条件的子查询多与"="."!=".">"."<"等比较运算符一起使用.结果虽然通常是单行单列,但

mysql常用基础操作语法(四)--对数据的简单无条件查询及库和表查询【命令行模式】

1.mysql简单的查询:select 字段1,字段2...  from tablename; 如果字段那里写一个*,代表查询所有的字段,等同于指定出所有的字段名,因此如果要查询所有字段的数据,一般都是用*. 2.去重查询:select distinct 字段1,字段2... form tablename: 可以结合上一张图的结果来对比. 3.直接在查询时做数学四则运算,加减乘除余: 4.查询时给查询结果字段重命名:select 字段1 as 名称1,字段2 as 名称2 ... from ta

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数. 1.concat连接字符串: 从上图中可以看出,直接使用select concat就可以连接任意两个以上的字符串,同时也可以用来连接查询结果,一般情况中也是会用来连接查询结果.需要注意的是,如果连接的内容有null存在的话,那么结果就只会是null. 2.concat_ws使用分隔符连接字符串: 在上边的语法中,第一个字符传代表指定的连接格式,其他的代表需要连接

mysql常用基础操作语法(九)~~外连接查询【命令行模式】

1.左外连接left outer join或者left jion,outer可以省略不写,下边的右连接和全连接也一样: 左外连接的意思是,以left join左边的表中的数据为基准,即左边的表中有的必须要全部显示出来,如下图: 这里第一个查询中,company表在左边,因此就以company为基准,所以显示的结果中除了depart_id相同的6条数据外,还把company中存在的另外一条也显示出来. 而第二个查询中,emp在左边,就以emp为基准,因此显示的结果中除了depart_id相同的6条

mysql常用基础操作语法(三)~~对数据的增删改操作【命令行模式】

1.插入单条数据:insert into tablename(字段名1,字段名2,...) values(值1,值2,...); 从图中可以看出,插入时不需要每个字段都有值(在没有相关的约束前提下),但是需要注意的是字段的数量和后边的值的数量必须一致,还要和自定的字段的顺序一致,类型也要一致,否则会报错.另外,如果没有指定任何字段的情况下,默认是选择了所有字段,则必须每个字段都有对应的值,并且需要和表中的字段顺序一致,否则会报错,如图: 2.插入多条数据:insert into tablenam

mysql常用基础操作语法(二)~~对表的增删改操作【命令行模式】

1.修改表名:alert table oldtablename rename newtablename; 或者alert table oldtablename rename to newtablename; [图形界面用多了,alter老是敲成alert] 2.在表的最后添加一个字段列:alter table tablename add 属性名 属性类型; 3.在表的第一列添加字段:alter table tablename add 属性名 属性类型 first; 4.在表指定字段后增加字段:a

mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】

1.使用order by对查询的结果进行排序,asc升序,desc降序: 也可以在order by后指定多个字段名和排序方式进行多级排序: 2.使用limit限制查询结果的数量: 上图中的0,代表查询的开始位置,也可以理解为跳过的数量:上图中的2代表需要查询出的数量.这个表中有3条数据,因为限制了条数为2,因此实际结果只是两条.另外,这里的初始位置是0,实际上可以不写,默认就是0: 这里还有一种情况,就是指定查询结果的数量可能大于表中的实际数量,这个时候返回结果会返回表中所有符合条件的数据,例如

mysql常用基础操作语法(一)~~对库的操作【命令行模式】

1.创建数据库:create Database databaseName;例如需要创建mysqlTest数据库,create Database mysqlTest; 由此还可以看出,这里的名称是不分大小写的,据我所知可以通过设置设置为全大些或者全小写. 2.查看系统中已经存在的数据库:show databases; 3.选择数据库:use databaseName;(本文中所有databaseName均是一个代称,表示数据库名称,tableName也是代称,表示表名): 4.删除数据库:drop

mysql常用基础操作语法(五)--对数据的简单条件查询【命令行模式】

1.单条件查询:select 字段名 from tablename where 条件: 2.简单多条件查询,使用&&或者between and等: 3.is null和is not null查询,这里要注意null不是空字符串不是0: 4.in和not in查询,相当于是用or把in后边的集合元素连起来.注意如果in后边带的集合中存在null,那么不会影响结果,但not in后边集合中有null,就不会查处任何结果,not in也查不出null: 5.like模糊查询(不仅适用字符串):