MySQL -- SQL笔试题相关

server/2024/10/15 6:30:20/

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) 类型的列,用于存储分行信息,不为空。

建表如下:

sql">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

 插入些数据:

sql">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、统计表中缴费的总笔数和总金额

sql">select count(serno),sum(amount) from bank_bill;

 

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

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

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

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

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

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

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

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

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

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

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

sql">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);


http://www.ppmy.cn/server/46033.html

相关文章

优化CPU占用率及内存占用2

在标准化无线通信板时,关注过程序占用ram的问题,当时 发现每一个线程都会分配8M栈空间,这次换rk3568后,偶尔看了下RAM占用,吓了一跳,不但每个线程有8M栈空间,几乎每个线程都占用了64MB的一个RAM…

使用PNP管控制MCU是否需要复位

这两台用到一款芯片带电池,希望电池还有电芯片在工作的时候插入电源不要给芯片复位,当电池没电,芯片不在工作的时候,插入电源给芯片复位所以使用一个PNP三极管,通过芯片IO控制是否打开复位,当芯片正常工作的…

git生成密钥(免密)

生成SSH密钥对的方法如下: 打开Git Bash。 输入以下命令生成新的SSH密钥对: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 这里的 -C 参数后面跟的是你的邮箱地址,通常用于标识这个密钥。 当系统提示你“Enter a fil…

用Spherical Demon做 spherical alignment预处理

主要用到的是: SD_rotateAtlas2Sphere.m function [curr_sbjWarp, Center1, Center2, Center3, prev_energy, curr_energy] SD_rotateAtlas2Sphere(sbjMesh, basic_atlas, parms, SearchWidth, numIntervals)函数SD_rotateAtlas2Sphere的5个输入参数和返回6个输出…

请描述Vue常用的修饰符

在 Vue 中,修饰符(Modifiers)常用于自定义指令(Directives)和事件监听(Event Listeners)中,以改变指令或事件监听器的默认行为。以下是一些 Vue 中常用的修饰符: 1. 事件…

layui实现鼠标移入/移出时显示/隐藏tips

layui实现鼠标移入/移出时显示/隐藏tips弹窗 注&#xff1a;其它弹窗亦可按照此方法实现相同效果 鼠标移入 dom 或 tips 区域&#xff0c;显示 tips 弹窗&#xff1b; 鼠标移出 dom 或 tips 区域&#xff0c;隐藏 tips 窗口&#xff1b; <div id"box">鼠标移入…

RabbitMQ-发布/订阅模式

1、发布/订阅模式介绍 在普通的生产者、消费者模式&#xff0c;rabbitmq会将消息依次传递给每一个消费者&#xff0c;一个worker一个&#xff0c;平均分配&#xff0c;这就是Round-robin调度方式&#xff0c;为了实现更加复杂的调度&#xff0c;我们就需要使用发布/订阅的方式…

Flink搭建

目录 一、standalone模式 二、Flink on Yarn模式 一、standalone模式 解压安装Flink [rootbigdata1 software]# tar -zxvf flink-1.14.0-bin-scala_2.12.tgz -C /opt/module/ [rootbigdata1 module]# mv flink-1.14.0/ flink-standalone 2.进入conf修改flink-conf.yaml job…