SQL(二)

1.求平均值:AVG()
(1)用法
求平均值:select AVG(列1) from table1;
求大于平均值的列:select * from B where num > (select AVG(num) from B );

2.计算行数:count()
(1)可做如下用法
select count(*) from A; 可计算A表总的行数。
select count(distinct name) from A; 可计算A表中不同name的数目。

3.max()、min()
返回列的最大/小值,也可用于文本列,以按字母排序的最高值和最低值。

4.sum() 求和。
注意与count()区分。

5.group by
(1)用于结合sum()函数以表示对哪一类数据求和。
(2)可对一个以上的列使用group by ,如果...group by A,B;则需要对AB所有值得排列作为一类进行求和。

(3)使用group by 可以对数据库中的数据进行去重,如下,

mysql> select * from test_table;
+------+----+-----+
| name | ID | num |
+------+----+-----+
| a    |  1 |  11 |
| a    |  1 |  11 |
| b    |  1 |  12 |
+------+----+-----+
3 rows in set

mysql> select * from test_table group by num;
+------+----+-----+
| name | ID | num |
+------+----+-----+
| a    |  1 |  11 |
| b    |  1 |  12 |
+------+----+-----+
2 rows in set

6.having
sql中having函数存在的原因是无法对分组查询的数据进行条件筛选。
用法举例:select name , sum(num) from B group by name having sum(num) > 1111;

问题:having() 函数只会出现在有group by 的时候吗?

7.mid()从文本字段提取字符
使用举例:
select mid(列1,start, length) from table;
注意:
(1)其中length项可选,不填的话默认截取到末尾
(2)可以从字符串、日期或者整型数据中截取数据。

8.len() 用于返回某一列数据的文本字段的长度

9.round() 用于把数值字段舍入为指定的小数位数

10.now()
用法:select id , sum , now()as time from A;
会在A表中添加一列time,但是对原表并没有影响。

11.format 对字段显示格式化

原文地址:https://www.cnblogs.com/simone-wenwen/p/4126657.html