上期回顾
- SELECT执行顺序
(8)SELECT (9)DISTINCT <top num> <select list> (1)FROM left_table
(3)<join type> JOIN <right_table>
(2)ON [join_condition]
(4)WHERE where_condition
(5)GROUP BY <group_list>
(6)WITH <CUBE | ROLLUP>
(7)HAVING having_condition
(10)ORDER BY <order by list
- SELECT INTO
- 复制数据到新表
SELECT * INTO newtable [IN externaldb] FROM oldtable;
- 仅复制表结构到新表
SELECT * INTO newtable [IN externaldb] FROM oldtable WHERE 1=0;
- 复制表时指定新列名
SELECT column_new AS column_old INTO newtable [IN externaldb] FROM oldtable;
聚合函数
聚合函数是对一组值进行计算并返回单一值的函数,它经常与GROUP BY 子句一同使用。常见的聚合函数有哪些呢?
- AVG 返回指定组中的平均值,空值被忽略
SELECT AVG(signal_strength) FROM `chinanet_device_project` GROUP BY current_reading WITH ROLLUP ;
- COUNT 返回指定组中项目的数量
SELECT COUNT(*) FROM `chinanet_device_project`;
对于mysql数据库来说,COUNT() 和 COUNT(1) 结果一样,但执行过程有差别。具体说明详见
mysql下count(*)和count(1)的区别,大多数情况使用COUNT()更好一些。
- MAX 返回指定数据的最大值
SELECT MAX(signal_strength) FROM `chinanet_device_project`;
- MIN 返回指定数据的最小值
SELECT MIN(signal_strength) FROM `chinanet_device_project`;
- SUM 返回指定数据的和,只能用于数字列,空值被忽略
SELECT SUM(signal_strength) FROM `chinanet_device_project`;