我剛剛開始編程,並使用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