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

ARelのケースステートメント

    Arel v7.xから、 Arel ::Nodes ::Case これはcaseステートメントに使用できます。このクエリは次のように書き直すことができます:

    def case_statements
      orders = Order.arel_table
      Arel::Nodes::Case.
      new(orders[:quantity]).
      when(2).then(orders[:quantity] * 500).
      when(5).then(orders[:quantity] * 450).
      when(10).then(orders[:quantity] * 350)
    end
    orders = Order.arel_table
    
    Order.
    select(Arel.star).
    select(Arel::Nodes::Sum.new(case_statements).as("total_price")).
    group(orders[:user_id]).
    having("total_price > ?", minimum_price).
    order("total_price")
    



    1. Oracleでコンマ区切りの文字列内の要素の数をカウントします

    2. phpとmysqlでステートメントを実行できません

    3. MountainLionにpggemをインストールできません

    4. 各レコードのすべての列を1つのエントリに連結する