mysql查询动态日期范围

时间:2015-10-26 00:42:28

标签: mysql date-range

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

因此我创建了一个MySql表来加速对这些信息的访问。

在我的database content and format上显示的表格中,我想限制显示最多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

由于每个项目都有随机数量的价格,因此每个项目都有随机数量的价格,因为水果和蔬菜都有一个投标系统,每一轮的价格会下降。

例如,番茄可能从0,80€起,然后其价格下降到0.76,0.74,0.69等等。

我需要添加哪些代码才能显示当天和接下来6天完成一周的数据?

以下是{{3}}

的照片

谢谢,何塞。

1 个答案:

答案 0 :(得分:0)

如果这定义了您的表架构

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

希望这有帮助。