我在python脚本中运行sql查询来获取一些数据。这是我的sql查询:
sql_query=(""" SELECT date,
name,
sum(some_value) as Total_Value
FROM table_name
WHERE (SUBSTRING(date,1,8), name) IN {}
GROUP BY date,name
""").format(tuple_passed)
传递的元组的格式如下
(('20191001', 'mike'),('20191001', 'julia'),......)
表中的日期格式为(在该数据库中存储为字符串而不是日期时间格式):
202002051600
元组日期如下:
20200205
这就是我使用substring函数的原因。
问题是,对于依赖于某个特定名称的元组中的日期的sql查询,我想从表中查询该特定名称的最近7天的数据(从元组中提到的日期算起)。我不知道如何在sql中这样做?主要问题是元组中每个名称传递的日期每次都不同。因此,对于每个名称,根据元组传递的日期,从db查询的最后7天是不同的。
元组数据来自csv(间接来自另一个db)。
如果我的元组数据是这样的:
20200111 Mike
20200120 Julia
20200211 Bob
20200219 Mike
20200301 Bob
20200411 Mike
因此,根据mike每个日期的日期,查询应该从db中获取过去7天中“20200111”、“20200219”和“20200411”每个日期的某个\u值。
我试过用
DATE_ADD(dt, -7)
在查询的where子句中。但这并不能很好地获得所需的数据。
暂无答案!
目前还没有任何答案,快来回答吧!