mysql 查询动态日期范围

mysql query dynamic date range

我创建了一个网站,显示我所在省份table的水果和蔬菜价格。这些价格每天更新(每天大约 +250 行)。

出于这个原因,我创建了一个 MySql table 来加快对这些信息的访问。

在我的 Web site 上显示的 table 我想将显示的日期限制为 1 周,而不是数据库中所有可用的日期。考虑到数据库每天都在增加,我需要查询这个动态日期请求。

他们查询我现在使用的是:

 SELECT base_beta.Tipo,
    base_beta.fecha_numero,
    base_beta.Variedad,
    base_beta.Fecha,
    base_beta.alhondiga,
    base_beta.corte_uno,
    base_beta.corte_dos,
    base_beta.corte_tres,
    base_beta.corte_cuatro,
    base_beta.corte_cinco,
    base_beta.corte_seis,
    base_beta.corte_siete,
    base_beta.corte_ocho,
    base_beta.corte_nueve,
    base_beta.corte_diez,
    base_beta.corte_once,
    base_beta.corte_doce,
    base_beta.corte_trece,
    base_beta.corte_catorce,
    base_beta.corte_quince
 FROM base_beta
 WHERE 1=1 
 AND base_beta.Tipo = 'pi'
 ORDER BY base_beta.fecha_numero DESC

有几列带有 corte(又名价格),因为每件商品的价格都是随机的,因为水果和蔬菜tables 有一个价格在每一轮都下降的投标系统。

例如,一个西红柿的起价可能为 0.80 欧元,然后它的价格会下降到 0.76、0.74、0.69 等等。

我必须添加什么代码才能显示当天和接下来 6 天的数据以完成一周?

这是照片:database content and format

谢谢,何塞。

如果这定义了您的 table 模式

CREATE TABLE prices (item INT UNSIGNED, price DECIMAL(5,2), date DATETIME);

以下查询将检索最多 7 天前的价格

SELECT * FROM prices WHERE date > SUBDATE(CURDATE(),7) AND date <= CURDATE();

另见 https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

希望对您有所帮助。