恒生电子比赛 恒生电子秋招 恒生电子笔试题 1011
笔试时间:2025年10月11日
往年笔试合集:
第一题
某农业科技公司在全国各地拥有多个农场,并种植各种农作物。为了监测农作物的生长情况,公司记录了每个农场、每种农作物在不同时间点的健康指数以及最终的产量。
数据库结构如下:
- farms表:存储农场的基本信息 farm_id:农场ID,主键farm_name:农场名称location:农场所在地area_hectares:农场面积(公顷)
- crops表:存储农作物的基本信息 crop_id:农作物ID,主键crop_name:农作物名称crop_type:农作物类型(如:谷物、蔬菜)
- crop_data表:存储农作物在特定农场的监测数据 data_id:数据记录ID,主键farm_id:关联的农场IDcrop_id:关联的农作物IDplanting_date:农作物种植日期measurement_date:数据测量日期health_index:健康指数yield_kg_per_hectare:每公顷产量(千克/公顷)
需求描述
编写一个SQL查询,统计监测日期在2024年3月至2024年6月期间,每种农作物在不同农场的生长情况,包括:
- 农场名称
- 农作物名称
- 农作物类型
- 平均健康指数(保留两位小数)
- 每公顷平均产量(公斤, 保留整数)
- 生长天数(从种植到最后一次测量的天数)
要求
- 只统计期间有至少3次测量记录的农作物
- 按照平均健康指数降序排序,如果健康指数相同,则按照每公顷平均产量降序排序,如果产量也相同,则按农场名称字母顺序升序排列
样例输入
CREATE TABLE farms (
farm_id INT PRIMARY KEY,
farm_name VARCHAR(100) NOT NULL,
location VARCHAR(100) NOT NULL,
area_hectares DECIMAL(10,2) NOT NULL
);
CREATE TABLE crops (
crop_id INT PRIMARY KEY,
crop_name VARCHAR(100) NOT NULL,
crop_type VARCHAR(50) NOT NULL
);
CREATE TABLE crop_data (
data_id INT PRIMARY KEY,
farm_id INT NOT NULL,
crop_id INT NOT NULL,
planting_date DATE NOT NULL,
measurement_date DATE NOT NULL,
health_index DECIMAL(4,2) NOT NULL,
yield_kg_per_hectare DECIMAL(8,2) NOT NULL
);
-- 插入农场数据
INSERT INTO farms VALUES
(1, 'Green Valley Farm', '华北平原', 120.50),
(2, 'Sunshine Acres', '长江三角洲', 85.75);
-- 插入农作物数据
INSERT INTO crops VALUES
(1, '小麦', '谷物'),
(2, '玉米', '谷物'),
(3, '水稻', '谷物'),
(4, '番茄', '蔬菜');
-- 插入农作物监测数据
-- Green Valley Farm - 小麦
INSERT INTO crop_data VALUES
(1, 1, 1, '2024-03-10', '2024-03-25', 8.70, 0.00),
(2, 1, 1, '2024-03-10', '2024-04-15', 9.20, 0.00),
(3, 1, 1, '2024-03-10', '2024-05-15', 9.50, 4800.00),
-- Green Valley Farm - 玉米
(4, 1, 2, '2024-04-05', '2024-04-20', 8.50, 0.00),
(5, 1, 2, '2024-04-05', '2024-05-15', 8.90, 0.00),
(6, 1, 2, '2024-04-05', '2024-06-10', 9.10, 6500.00),
-- Sunshine Acres - 水稻
(7, 2, 3, '2024-04-15', '2024-05-01', 9.10, 0.00),
(8, 2, 3, '2024-04-15', '2024-05-20', 9.40, 0.00),
(9, 2, 3, '2024-04-15', '2024-06-15', 9.60, 6200.00),
-- Sunshine Acres - 番茄
(10, 2, 4, '2024-03-20', '2024-04-05', 8.90, 0.00),
(11, 2, 4, '2024-03-20', '2024-05-10', 9.30, 0.00),
(12, 2, 4, '2024-03-20', '2024-06-05', 9.50, 35000.00);
样例输出
farm_name|crop_name|crop_type|avg_health_index|avg_yield_kg_per_hectare|growth_days
Sunshine Acres|水稻|谷物|9.37|6200|61
Sunshine Acres|番茄|蔬菜|9.23|35000|77
Green Valley Farm|小麦|谷物|9.
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2025打怪升级记录,大厂笔试合集 C++, Java, Python等多种语言做法集合指南