当前位置: 首页 > news >正文

MySQL -- SQL笔试题相关

1.银行代缴花费bank_bill

字段名描述
serno流水号
date交易日期
accno账号
name姓名
amount金额
brno缴费网点
  • serno: 一个 BIGINT UNSIGNED 类型的列,作为主键,且不为空。该列是自动增量的,每次插入新行时,都会自动递增生成一个唯一的值。

  • date: 一个 DATE 类型的列,存储日期信息,不为空。

  • accno: 一个 VARCHAR(100) 类型的列,用于存储账号信息,不为空。

  • name: 一个 VARCHAR(50) 类型的列,用于存储姓名信息,不为空。

  • amount: 一个 DECIMAL(10, 1) 类型的列,用于存储金额信息,不为空。该列的定义表示它可以存储最大 10 位数,其中小数点后有 1 位。

  • brno: 一个 VARCHAR(150) 类型的列,用于存储分行信息,不为空。

建表如下:

CREATE TABLE `bank_bill` (`serno` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`date` date NOT NULL,`accno` varchar(100) NOT NULL,`name` varchar(50) NOT NULL,`amount` decimal(10,1) NOT NULL,`brno` varchar(150) NOT NULL,PRIMARY KEY (`serno`)
) ENGINE=InnoDB AUTO_INCREMENT=10011 DEFAULT CHARSET=utf8

 插入些数据:

INSERT INTO bank_bill (serno, date, accno, name, amount, brno) VALUES
(10001, '2024-05-01', '1234567890', 'zhang', 1000.5, '支行 A'),
(10002, '2024-05-01', '2345678901', 'li', 2000.3, '支行 C'),
(10003, '2024-05-01', '3456789012', 'zhang', 1500.2, '支行 B'),
(10004, '2024-05-01', '4567890123', 'wang', 2500.7, '支行 B'),
(10005, '2024-05-02', '5678901234', 'li', 1800.4, '支行 E'),
(10006, '2024-05-02', '6789012345', 'liu', 2200.9, '支行 B'),
(10007, '2024-05-03', '7890123456', 'luo', 1700.6, '支行 C'),
(10008, '2024-05-03', '8901234567', 'xie', 1900.8, '支行 A'),
(10009, '2024-05-04', '9012345678', 'zhang', 2100.2, '支行 D'),
(10010, '2024-05-04', '0123456789', 'ma', 2400.5, '支行 C');

 

1、统计表中缴费的总笔数和总金额

select count(serno),sum(amount) from bank_bill;

 

2、给出一个sql,按网点和日期统计每个网点每天的营业额,并按照营业额进行倒序排序

 select brno,date,sum(amount) as money from bank_bill group by brno,date order by money desc;

 3.查询每个客户的平均缴费金额:

SELECT name, AVG(amount) AS avg_amount
FROM bank_bill
GROUP BY name;

4.找出最大单笔交易的客户姓名和金额:

SELECT name, amount
FROM bank_bill
WHERE amount = (SELECT MAX(amount) FROM bank_bill);

5.统计每个网点的交易次数和总金额,并按交易次数排序:

SELECT brno, COUNT(*) AS transaction_count, SUM(amount) AS total_amount
FROM bank_bill
GROUP BY brno
ORDER BY transaction_count ASC;

 6.列出交易额在平均交易额之上的所有交易记录:

SELECT *
FROM bank_bill
WHERE amount > (SELECT AVG(amount) FROM bank_bill);

7.按月份统计交易总额和总笔数:

SELECT YEAR(date) AS year, MONTH(date) AS month, SUM(amount) AS total_amount, COUNT(*) AS total_transactions
FROM bank_bill
GROUP BY YEAR(date), MONTH(date);

相关文章:

  • 考试题库:华为HCIA-Datacom易错题⑪(含答案解析)
  • 数据处理随机采样前提条件
  • 算法-扫描线
  • 护网红线不能碰,网络安全人员其实也不安全,人才是最大的风险
  • Oracle Hint /*+APPEND*/插入性能总结
  • 在PostGIS中检查孤线(Find isolated lines in PostGIS)
  • 使用PNP管控制MCU是否需要复位
  • Bytebase 2.18.0 - 支持创建用户组
  • 公众号爆文全攻略:最新推荐机制与实战干货分享
  • java-类和对象
  • HBSL-22Q/K定时限过电流继电器 板前接线 JOSEF约瑟
  • 单实例11.2.0.3迁移到RAC11.2.0.4_使用RMAN 异机恢复
  • Kafka系列之高频面试题
  • cssBFC
  • STM32自己从零开始实操03:输出部分原理图
  • 【391天】每日项目总结系列128(2018.03.03)
  • extract-text-webpack-plugin用法
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • orm2 中文文档 3.1 模型属性
  • PAT A1017 优先队列
  • Python 反序列化安全问题(二)
  • Shell编程
  • Vultr 教程目录
  • 分享几个不错的工具
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 前端面试总结(at, md)
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 微信小程序--------语音识别(前端自己也能玩)
  • 学习笔记DL002:AI、机器学习、表示学习、深度学习,第一次大衰退
  • 延迟脚本的方式
  • - 转 Ext2.0 form使用实例
  • 阿里云ACE认证之理解CDN技术
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # dbt source dbt source freshness命令详解
  • #Linux杂记--将Python3的源码编译为.so文件方法与Linux环境下的交叉编译方法
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (2024最新)CentOS 7上在线安装MySQL 5.7|喂饭级教程
  • (33)STM32——485实验笔记
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (五)IO流之ByteArrayInput/OutputStream
  • (转)scrum常见工具列表
  • (转)菜鸟学数据库(三)——存储过程
  • (转)可以带来幸福的一本书
  • (轉貼)《OOD启思录》:61条面向对象设计的经验原则 (OO)
  • .NET / MSBuild 扩展编译时什么时候用 BeforeTargets / AfterTargets 什么时候用 DependsOnTargets?
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [Android]Android开发入门之HelloWorld
  • [C# 基础知识系列]专题十六:Linq介绍