使用Python我想按照我給它的查詢的相同順序從字典表中得到結果。 我提供查詢與元組作爲一個細分的句子(我可以在一個有序的列表,如數組?)。 我使用了一個標準的MySQLdb的光標(我應該嘗試不同的一個?),並用它如下執行查詢:如何以我的查詢的相同順序排列我的SQL結果(將一個句子分解爲一個單詞元組)?
import MySQLdb
...
sent_tuple = ('The', 'opening', 'session', 'of', 'the', '5-day', 'session', 'will', 'begin', 'at', '10', 'a.m.', 'today', '.')
mysql_cursor = mysql.cursor()
query = ("SELECT DISTINCT Orthography, Transcription FROM Dictionary WHERE Orthography IN " + sent_tuple + " ORDER BY FIELD(Transcription, Orthography)")
for rows in mysql_cursor:
print rows
出來的結果,而不是在相同的順序在sent_tuple給出,但或多或少上按字母順序,我的猜測是SELECT語句的默認...:
('AT', 'AE T')
('BEGIN', 'B IH G IH N')
('OF', 'AH V')
('OPENING', 'OW P AH N IH NG')
('SESSION', 'S EH SH AH N')
('THE', 'DH AH')
('TODAY', 'T AH D EY')
('WILL', 'W IH L')
('.', '.')
也有一些缺失的結果,其中沒有從字典匹配。不知道如何處理這個...方向??
我在StackExchange看過一些類似的帖子,例如:涉及ORDER BY,但似乎無法讓他們工作...
你的元組將獲得多久? (即,您一次處理多少個單詞?) – jdhildeb
也許介於2到25個項目之間? – user2911