mysql - 如何从mysql表的前3行中获取最小值

标签 mysql sql

我有一个名为 stocks 的表,其中包含以下列;

Stockcode  Hig   low   Close   Date
MSFT     | 100 |  90 |  95   |2013-09-18
MSFT     | 105 |  96 |  97   |2013-09-17
MSFT     | 104 |  92 |  91   |2013-09-16
MSFT     | 101 |  88 |  100  |2013-09-13

我想列出日期列最近 3 天低列的最低值。

我尝试了以下查询,但它只给出了所有天的最低值,而不是过去 3 天。

SELECT `LOW` 
  FROM `stocksdata` 
  WHERE `STOCKSYMBOL` = "MSFT" 
  ORDER by TIMESTAMP 
  DESC LIMIT 1;

我如何SELECT 最近 3 天的值?

最佳答案

根据您的数据,您正在寻找过去三个交易日的最低值:

select min(low) from(
    SELECT
        `LOW` 
    FROM `stocksdata` 
    WHERE
        `STOCKSYMBOL` = "MSFT" 
    ORDER by 
        TIMESTAMP DESC LIMIT 3) ltd

关于mysql - 如何从mysql表的前3行中获取最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18857781/

相关文章:

mysql - SQL 从同一个表中选择列

PHP 从数据库中检索列数据

mysql - 数据库 : Importing data from other tables to another tables

php - 为不等于两个值中的任何一个的列纠正 mysql 语法

c# - Datarow 未返回确切的行数

mysql - 数据库设计的性能: One database for n customers vs a database per customer

php - 如何在php中从用户端动态提供对数据库的访问权限?

mysql - 引用的列必须是目标实体原则上的主键列 - Symfony2

javascript - 在sequelize中,如何选择与多行的不同值匹配的记录?

php - 使用 php 优化 SQL 查询