2017-06-01 6 views
1

をソート:私はこのデータを持って、このクエリでSQLAlchemyのは、カスタムクエリとSQLAlchemyのを使用して、いくつかの理由イムについて問題

sql = "SELECT id, shooter_id, value FROM points WHERE match_id = %s ORDER BY value" % match_id 
rows = self._session.execute(sql).fetchall() 
for (shooter_id, value) in rows: 
    r[shooter_id] = value 

を:

1 100 5.5 
3 101 6.4 
2 121 8.2 

ない大したことをして、それは私に良い作品Windows、Python 3.6.0、MariaDbを搭載した開発用PCです。しかし、私がPython 3.4.2でdebian jessieにアプリケーションをデプロイすると、Mysqlの問題が発生します。データのソートが停止します。言い換えれば、私は持っている:

1 100 5.5 
2 121 8.2 
3 101 6.4 

無名:

すべての図書館は同じバージョンであり、私はこれを解決するためにどこを見てもわかりません。さて、私は別のピトンバージョンとDBエンジンを持っていますが、それはそれだとは思いません。

ヘルプ!

+0

文字列書式を使用してSQLクエリに値を書式設定することはほとんどありません。プレースホルダを使用します。 SQLAlchemyは、DB-APIドライバに依存しないプレースホルダを 'text()'構造で使用するためのツールも提供します。 http://docs.sqlalchemy.org/en/latest/core/tutorial.html#using-textual-sqlを読んでください。 –

答えて

1

返されたデータは辞書に格納され、辞書を印刷するとランダムな順序で結果が得られます。正しく辞書を印刷するには、次のスニペットを使用します。

for key in sorted(r.keys()): 
    print(key, r[key]) 

をあなたがキーを入力する順番を覚えているだろうのpythonを使用している場合。

関連する問題