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
希望对您有所帮助。
我创建了一个网站,显示我所在省份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
希望对您有所帮助。