在上一篇里,写了数据库的增删该查,没有写完,这里补充

CREATE DATABASE Zs_Base;
USE Zs_Base;
# 创建表
CREATE TABLE PRODUCT(
ID INT PRIMARY KEY AUTO_INCREMENT,
SNAME VARCHAR(50),
MONEY DOUBLE
);
# 插入数据
INSERT INTO PRODUCT VALUES
(1,'吃饭支出',-10),
(2,'收账',1999),
(3,'买礼物支出',-666),
(4,'买烟支出',-10);
INSERT INTO PRODUCT(MONEY) VALUE (100);
DELETE FROM PRODUCT WHERE ID=5;
SELECT * FROM PRODUCT;
/*==========================================================
1.升序降序*/
# 将所有信息按money降序排序 关键字 order by desc
# SELECT * FROM 表名 ORDER BY 降序的列名 DESC;
SELECT * FROM PRODUCT ORDER BY MONEY DESC;
# 将所有信息按money 升序排序 关键字 order by asc
# SELECT * FROM 表名 ORDER BY 升序的列名 ASC;
SELECT * FROM PRODUCT ORDER BY MONEY ASC;
# 当有条件时,order by 放在条件后面
SELECT * FROM PRODUCT WHERE SNAME IS NOT NULL ORDER BY MONEY DESC;
# 总结 order by 是对结果集进行处理,即前面的语句运行完后,再对结果进行升序降序排列 /*==================================================================
2.聚合函数 查询计算*/
/*统计表中共有多少行数据 COUNT()函数*/
SELECT COUNT(*) AS '总数' FROM PRODUCT ;
# 查询表中不为空的数据有多少
SELECT COUNT(*) AS '总数' FROM PRODUCT WHERE SNAME IS NOT NULL; # 对表中的金额进行计算 SUM()函数
SELECT SUM(MONEY) FROM PRODUCT;
# 统计表中所有支出的金额
SELECT SUM(MONEY) FROM PRODUCT WHERE SNAME LIKE '%支出%';
# 统计列中最大的数据 max()函数
SELECT MAX(MONEY) FROM PRODUCT ;
# 统计表中的最小数据
SELECT MIN(MONEY) FROM PRODUCT;
# 计算一个列中所有数据的平均数
SELECT AVG(MONEY) FROM PRODUCT; /*=================================================================
3.分组查询*/
INSERT INTO PRODUCT (SNAME,MONEY) VALUES
('买烟支出',-50),
('工资收入',8000),
('吃饭支出',-50.4),
('吃饭支出',-20.6),
('打麻将收入',40);
SELECT * FROM PRODUCT;
/*查询所有数据
吃饭支出共计多少
打麻将收入共计多少
分组查询 group by 被分组的列名
必须跟随聚合函数
用法格式: SELECT 列名,列名 FROM 表名 WHERE 条件 GROUP BY 被分组的列名
注意,被分组的列要出现在选择列的后面*/
/*对所有的支出分组并降序排序*/
SELECT SUM(MONEY) AS 'SMONEY',SNAME FROM PRODUCT WHERE SNAME LIKE '%支出%'
GROUP BY SNAME ORDER BY SMONEY DESC;
/*结果集是分组后,要再次进行筛选,不能用where语句,分组后再次过滤,关键字having,即group by 后面不能跟where语句,如果要过滤用having语句*/
# 对上面结果再筛选,只要金额大于100的
SELECT SUM(MONEY) AS 'SMONEY',SNAME FROM PRODUCT WHERE SNAME LIKE '%支出%'
GROUP BY SNAME HAVING SMONEY<-100 ORDER BY SMONEY DESC;
# 因为支出为负数,所以用<-100来表示金额大于100 的;

最新文章

  1. cocostudio 骨骼动画 setContentScaleFactor
  2. java读取properties配置文件总结
  3. C++ STL 的实现:
  4. [转]装完CentOS后,重新开机启动后显示: Initial setup of CentOS Linux 7 (core)
  5. MySQL大小写敏感说明
  6. ssh-keygen -t rsa -f cloud.key ssh -i cloud.key &lt;username&gt;@&lt;instance_ip&gt;
  7. 《samba搭建win客户端和linux客户端的区别》
  8. 使用java解析和制作二维码
  9. Android中解析JSON格式数据常见方法合集
  10. C++ STL之map常用指令
  11. [Android]The connection to adb is down, and a severe error has occured.
  12. 安卓平台多个视频叠加演示demo说明
  13. js对象详解(JavaScript对象深度剖析,深度理解js对象)
  14. 论文阅读(XiangBai——【CVPR2017】Detecting Oriented Text in Natural Images by Linking Segments)
  15. 2018—自学Selenium+Python 笔记(一)
  16. 汇编语言--微机CPU的指令系统(五)(标志位操作指令)
  17. 跨平台Redis可视化工具Web Redis Manager
  18. 廖雪峰Java3异常处理-2断言和日志-1使用断言
  19. call()、apply()、bind()
  20. 安卓手机文件管理器简单横向评比 - imsoft.cnblogs

热门文章

  1. Java连接数据库 #06# SQL与代码分离(精化版本)
  2. LSTMs 长短期记忆网络系列
  3. 一招破解 Java 集合类面试题
  4. Oracle 12c RAC
  5. Python requests代理
  6. jmeter工具应用1
  7. Wincc数据库连接代码生成方法
  8. Netflix:我们为什么要将 GraphQL 引入前端架构? (转)
  9. commons-lang3工具类学习(三)
  10. bsxfun.h multiple threads backup