查询出每一种食物的最高/低价,以及最高/低价发生在哪一天

Posted Roam-G

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查询出每一种食物的最高/低价,以及最高/低价发生在哪一天相关的知识,希望对你有一定的参考价值。

目录

数据结构

 要求:查询出每一种食物的最高/低价,以及最高/低价发生在哪一天 

SQL 

开始查询

执行结果


数据结构

 要求:查询出每一种食物的最高/低价,以及最高/低价发生在哪一天 

SQL 

/*
 Navicat Premium Data Transfer

 Source Server         : 2021
 Source Server Type    : mysql
 Source Server Version : 50726
 Source Host           : localhost:3306
 Source Schema         : db01

 Target Server Type    : MySQL
 Target Server Version : 50726
 File Encoding         : 65001

 Date: 23/10/2022 23:52:25
*/

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;

-- ----------------------------
-- Table structure for table
-- ----------------------------
DROP TABLE IF EXISTS `table`;
CREATE TABLE `table`  (
  `id` int(11) NOT NULL,
  `food` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `price` decimal(10, 2) NULL DEFAULT NULL,
  `date` datetime(0) NULL DEFAULT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE = MyISAM CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;

-- ----------------------------
-- Records of table
-- ----------------------------
INSERT INTO `table` VALUES (111, 'chicken', 20.00, '2022-10-19 15:04:23');
INSERT INTO `table` VALUES (112, 'chicken', 50.00, '2022-10-20 15:04:39');
INSERT INTO `table` VALUES (113, 'beef', 50.00, '2022-10-14 15:04:55');
INSERT INTO `table` VALUES (114, 'pork', 30.00, '2022-10-15 16:20:19');
INSERT INTO `table` VALUES (115, 'beef', 20.00, '2022-10-01 16:21:01');
INSERT INTO `table` VALUES (116, 'pork', 36.00, '2022-10-03 16:21:17');
INSERT INTO `table` VALUES (117, 'chicken', 25.00, '2022-10-11 23:48:34');
INSERT INTO `table` VALUES (118, 'beef', 28.00, '2022-09-23 23:48:56');
INSERT INTO `table` VALUES (119, 'pork', 54.00, '2022-09-08 23:49:22');

SET FOREIGN_KEY_CHECKS = 1;

开始查询

SELECT 
t1.food as '肉类',
min(t1.price) as '最低价格',
(
SELECT 
	min(date) 
	FROM `table` as t2 
	WHERE t2.price = min(t1.price) and t2.food = t1.food
) as '最低价格对应日期',

MAX(t1.price) as '最高价格',
(
SELECT 
	MAX(date) 
	FROM `table` as t2 
	WHERE t2.price = MAX(t1.price) and t2.food=t1.food
) as '最高价格对应的日期'

FROM `table`  AS t1

GROUP BY food

执行结果

 

以上是关于查询出每一种食物的最高/低价,以及最高/低价发生在哪一天的主要内容,如果未能解决你的问题,请参考以下文章

4000+股票从上市到现在的数据(最高价最低价换手率等)以及其他大量的金融数据

希赛网16周年庆感恩钜惠,全年劲爆最低价,不止5折,建造师最高优惠1500

美团大数据杀熟:苹果手机下单最贵,最高价和最低价相差14%

懂牛共振追涨指标公式源码?

如何取到所有股票(包括A股B股)某一天的价格(开盘价、最高价、最低价、收盘价,或其中一个价格)???

hive中怎么求每个编号相同的中价格不超过最低价百分之30的数据