创建数据库中的表
CREATE TABLE usecount(
id INT PRIMARY KEY AUTO_INCREMENT,
pname VARCHAR(200),
money DOUBLE
);
INSERT INTO usecount (pname,money) VALUES ('吃饭支出',500),('工资收入',12345),('服装支出',14574),('吃饭支出',1354),('股票收入',452422),('打牌支出',5435),(NULL,65454165);
--------查询账户名字,四个字符的
SELECT *FROM USECOUNT WHERE pname LIKE '____';
-------- 查询账户名,不为空的
SELECT *FROM USECOUNT WHERE pname IS NOT NULL;
SELECT *FROM USECOUNT WHERE pname NOT (pname IS NULL);
=======================================
查询,对结果进行排序
升序,降序,对指定列进行排序;
order by 列名 [desc][asc]
desc 降序
asc 升序排列
=======================================
– 查询账户,按照价格进行升序
SELECT *FROM usecount ORDER BY money;
– 查询账户,按照价格进行降序
SELECT *FROM usecount ORDER BY money DESC;
– 查询账户,查询所有支出,对金额进行降序排列
– 先过滤条件 Where ,查询结果后再排序
SELECT *FROM usecount WHERE pname LIKE '%支出%' ORDER BY money DESC;
====================================================
聚合函数
使用聚合函数进行查询计算
-- count 求和,对表中的数据的个数求和 count(列名)
-- sum 求和,对一列数据进行求和计算 sum(列名)
– count 求和,对表中的数据的个数求和 count(列名)
– 查询统计表中,一共多少条数据
SELECT COUNT(*) AS 'count' FROM usecount;
– sum 求和,对一列数据进行求和计算 sum(列名)
– 对账户进行查询,对所有金额进行求和计算
SELECT SUM(money) FROM usecount;
– 求和,统计所有支出的总金额
SELECT SUM(money) FROM usecount WHERE pname LIKE'%支出%';
INSERT INTO usecount(pname) VALUES ('彩票收入');
– MAX 函数,对某列数据,获取最大值
SELECT MAX(money) FROM usecount;
– avg函数,计算一个列所有数据的平均数
SELECT AVG(money) FROM usecount;
**
分组查询:group by 被分组的列名 必须紧跟聚合函数
select 查询的时候,被分组的列,要出现在select选择列的后面
**
SELECT SUM(money) ,pname FROM usecount;
SELECT SUM(money),pname FROM usecount GROUP BY pname;
– 对pname内容进行分组查询求和,但是只要支出
SELECT SUM(money) AS 'getsum' ,pname FROM usecount WHERE pname LIKE'%支出%' GROUP BY pname ORDER BY getsum DESC;