【发布时间】:2017-08-04 14:39:55
【问题描述】:
我有这个查询,默认情况下,获取过去 60 分钟内(从当前时间开始)内的所有数据。但是,用户也可以选择时间(因此是参数newTime)。我想在所选时间的过去一小时内获取所有过去的数据。
@app.route('/_ajax', methods=['GET', 'POST'])
def userCount():
try:
newTime = request.form['time']
except:
newTime = datetime.now()
cur.execute("""SELECT count(DISTINCT(username)) from user_table WHERE tstampz >
(%s::date - INTERVAL '60 mins')""", (newTime,))
count=cur.fetchone()[0]
这非常适合当前时间,但是当我更改时间选择时,它会显示从 60 分钟前一直到所选日期的数据汇总。
我想要什么:如果我选择 8 月 1 日下午 2 点,我想要 8 月 1 日下午 1 点 - 下午 2 点的所有数据。
我得到了什么:从 8 月 1 日下午 2 点到 60 分钟前的所有数据。
如何使查询与我正在寻找的间隔兼容?
【问题讨论】:
标签: python sql postgresql intervals psycopg2