我使用python 3.4来查询mysql中的数据。我想从大型数据库中查询一年的数据,因此我计划将查询拆分为每次查询一周。
这是我用来查询数据的查询。
SELECT id, event_title, event_deadline FROM job
WHERE country_id = 15
AND (event_deadline >= '2015-01-01' AND event_deadline <= '2015-01-07')
是否有更简单的方法可以获取一年中所有52周的所有数据而无需手动列出每周的日期,如下所示?
week 1: 2015-01-01 - 2015-01-07
week 2: 2015-01-08 - 2015-01-14
week 3: 2015-01-15 - 2015-01-21
答案 0 :(得分:0)
你可以使用MySQL WEEK()
函数,如下所示:(如果这看起来像php,请原谅我;我没有做太多python。但是,原理是一样的。)
query = ("SELECT id, event_title, event_deadline FROM job "
"WHERE country_id = 15 "
"AND WEEK(event_deadline) = %s")
for weeknum in [1..53]
cursor.execute(query, weeknum)
do_stuff_with(cursor)
查看MySQL文档,了解Mysql's WEEK() function如何定义日历周的详细信息。
希望有足够的意义来发挥作用。