如何在mySQL中每次查询一周的数据

时间:2015-12-01 06:21:57

标签: mysql python-3.x

我使用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

1 个答案:

答案 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如何定义日历周的详细信息。

希望有足够的意义来发挥作用。