<?php
创建数据库:
CREATE TABLE `orders` (
`O_Id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
`OrderDate` varchar(20) DEFAULT NULL COMMENT '日期',
`OrderPrice` int(11) DEFAULT NULL COMMENT '价格',
`Customer` varchar(20) DEFAULT NULL COMMENT '客户',
PRIMARY KEY (`O_Id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
插入数据:
insert into` orders`(`O_Id`,`OrderDate`,`OrderPrice`,`Customer`) values
(1,'2008/12/29',1000,'Bush'),(2,'2008/11/23',1600,'Carter'),
(3,'2008/10/05',700,'Bush'),(4,'2008/09/28',300,'Bush'),
(5,'2008/08/06',2000,'Adams'),(6,'2008/07/21',100,'Carter');
//AVG 函数返回数值列的平均值。NULL 值不包括在计算中。
O_Id OrderDate OrderPrice Customer
1 2008/12/29 1000 Bush
2 2008/11/23 1600 Carter
3 2008/10/05 700 Bush
4 2008/09/28 300 Bush
5 2008/08/06 2000 Adams
6 2008/07/21 100 Carter
//1.SQL AVG() 语法
//计算 "OrderPrice" 字段的平均值
SELECT AVG(OrderPrice) AS OrderAverage FROM Orders;
//找到 OrderPrice 值高于 OrderPrice 平均值的客户
SELECT Customer FROM Orders WHERE OrderPrice>(SELECT AVG(OrderPrice) FROM Orders);
//2.COUNT() 函数返回匹配指定条件的行数。
//COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入):
SELECT COUNT(column_name) FROM table_name
//COUNT(DISTINCT column_name) 函数返回指定列的不同值的数目:
SELECT COUNT(DISTINCT column_name) FROM table_name
//计算客户 "Carter" 的订单数
SELECT COUNT(Customer) AS CustomerNilsen FROM Orders WHERE Customer='Carter'
//3.MySQL没有FIRST() 函数 LAST() 函数
//4.MAX() 函数
//MAX 函数返回一列中的最大值。NULL 值不包括在计算中。
SELECT MAX(OrderPrice) AS LargestOrderPrice FROM Orders
//5.MIN() 函数
//MIN 函数返回一列中的最小值。NULL 值不包括在计算中。
SELECT MIN(OrderPrice) AS SmallestOrderPrice FROM Orders
//6.SUM() 函数
//SUM 函数返回数值列的总数(总额)。
SELECT SUM(OrderPrice) AS OrderTotal FROM Orders
//7.GROUP BY 语句 GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。 合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。
//查找每个客户的总金额(总订单)
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
//8.在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。
//查找订单总金额少于 2000 的客户
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer HAVING SUM(OrderPrice)<2000
//查找客户 "Bush" 或 "Adams" 拥有超过 1500 的订单总金额
SELECT Customer,SUM(OrderPrice) FROM Orders WHERE Customer='Bush' OR Customer='Adams' GROUP BY Customer HAVING SUM(OrderPrice)>1500
MySQL基本语法--函数1
最新推荐文章于 2022-10-29 22:59:47 发布