我刚刚开始编程,并使用sqlite3在pyscripter中编写了几行代码。Python SQlite ORDER BY命令不起作用
预先创建表格“聚集”。然后我从“聚集”中选择某些行,将它们放到另一个表中。我尝试按特定列“日期”对此表进行排序。但它似乎并不奏效。它不会给我一个错误信息或类似的东西。它只是没有排序。如果我在sqlitemanager中尝试相同的命令(SELECT * FROM匹配ORDER BY日期),它在完全相同的表上工作正常!这里有什么问题?我GOOGLE了一段时间,但我没有找到解决办法。它是可能的东西愚蠢我失踪..
正如我所说我是一个总新手。我想你们都会在看代码时流泪。所以,如果你有什么秘诀,我怎么可以缩短代码或使其更快或什么的,你是非常欢迎的。(但一切工作正常,除了上面提到的部分。)
import sqlite3
connection = sqlite3.connect("gather.sqlite")
cursor1 = connection.cursor()
cursor1.execute('Drop table IF EXISTS matches')
cursor1.execute('CREATE TABLE matches(date TEXT, team1 TEXT, team2 TEXT)')
cursor1.execute('INSERT INTO matches (date, team1, team2) SELECT * FROM gather WHERE team1=? or team2=?, (a,a,))
cursor1.execute("SELECT * FROM matches ORDER BY date")
connection.commit()
这是一个有点不清楚我到底是什么问题。这是INSERT正在工作,但SELECT * FROM匹配ORDER BY日期不是? – deakolt 2013-04-24 22:20:21
你实际上是在填充日期列吗?我没看到它。 – 2013-04-24 22:34:05
它也会将它排序为字符串,而不是按日期排序,因为您指定它是TEXT ....在您做出选择之后,您还需要'results = cursor1.fetchall()'... – 2013-04-24 22:41:24