sql >> データベース >  >> RDS >> Mysql

sqlalchemyfunc.group_concatとデータのランダムな順序

    SQLの結果は(複数の)セットであるため、明示的に定義しない限り、順序はありません。これは、 GROUP BYによって生成されたグループ行に適用されます 同じように;グループ内には順序がないため、集計は、プラン、物理レイアウト、スケジューリングなどに応じて、現在のクエリが生成する順序で値を受け取ります。解決策は、を明示的に定義することです。注文

    func.group_concat(t.name.op("ORDER BY")(t.name))
    

    これは、一般的な演算子関数<を使用します。 / a> 必要なSQL構文を生成します。 SQLAlchemyは、 Aggregate_order_by まったく同じ構文のヘルパーですが、Postgresql方言にのみ提供されています。




    1. MySQLでのテーブルエンジンの変更

    2. 2つの列の間でフィルタリングするクエリにインデックスを使用する方法

    3. RubyのCSVファイルへの列(SQLクエリ)の追加

    4. テーブルから最後のレコードIDを取得する最も安全な方法