在python中使用limits查询sqlite表

在python中使用limits查询sqlite表,python,sql,database,sqlite,Python,Sql,Database,Sqlite,我试图使用python的基本sqlite表返回多行。我稍微修改了教程中的代码: import sqlite3 conn = sqlite3.connect('SQL_test_3.db') #this creates a seperate file c = conn.cursor() c.execute('drop table if exists stocks') c.execute('''create table stocks (date text, trans text, symbo

我试图使用python的基本sqlite表返回多行。我稍微修改了教程中的代码:

 import sqlite3
 conn = sqlite3.connect('SQL_test_3.db') #this creates a seperate file
 c = conn.cursor()

c.execute('drop table if exists stocks')
c.execute('''create table stocks
(date text, trans text, symbol text,
 qty real, price real)''')

data = [('2006-03-28', 'BUY', 'IBM', 1000, 45.00),
      ('2006-04-05', 'BUY', 'MSFT', 1000, 72.00),
      ('2006-04-06', 'SELL', 'IBM', 500, 53.00),
      ('0000-00-00', 'Test', 'Test', 100, 100)
     ]

 for t in data:
     c.execute('insert into stocks values (?,?,?,?,?)', t)

conn.commit()

price = 72
t = (price,)

c.execute('select * from stocks where price=? limit 2', t)
print c.fetchall()
我希望它能返回:

[(u'2006-04-05', u'BUY', u'MSFT', 1000.0, 72.0)]
[(u'2006-04-06', u'SELL', u'IBM', 500.0, 53.0)]
我考虑过使用命令:

c.execute('select * from stocks where price=? limit 2', t)

但它只返回第一行。我尝试使用偏移量,但似乎不起作用。有人知道如何解决这个问题吗?如果有人能帮忙,我将不胜感激。谢谢

在没有
限制的情况下查询时也只返回1行。这不是限制问题


问题是查询的
部分:
price=72
只匹配一行。

@uʍopǝpısdn是只返回一行。我想返回多行-基于价格所在的位置。确定。我想要的是返回价格为72的那一行,但我还想要后面的那一行。如果LIMIT不是答案,那么什么是?@dave在SQL表中,没有定义行顺序。请编辑您的问题,以指定“after that”的确切含义。@CL。我所说的“after that”是指识别包含价格的行-返回其行,然后返回表中的下一行。基本上,我想从一个起始位置找到一系列行。在这种情况下,我希望起始位置是价格。因此,当我找到某个值的price时,返回它的行和下一个相邻的行。我希望我说的有道理。对不起,如果我没有。没有“表中的下一行”。秩序无法保证,也不会保持不变。您必须显式地对查询进行排序。如果您想要比
72
便宜的商品,
按价格排序
价格在哪里