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

同じSELECT句での列エイリアスの使用

    エイリアスを参照する方法はありませんが、式を変数に割り当ててから、同じselect句で変数を参照することができます。

    selectステートメント内では、変数の割り当ては常に中置演算子:=によって行われます。 。 * SETで ステートメントの場合、=のいずれかになります。 または:=

    例えば

    SELECT 
        ord_id
      , candy_id
      , price
      , quantity
      , @exc_cost := price * quantity AS exc_cost
      , @exc_cost * @tax_rate AS my_favourite_field
    ...
    <FROM CLAUSE>
    

    条件付きで変数の割り当てを実行することもできます。

    例えば

    IF(quantity > 90, 
         @exc_cost := price * quantity * 0.95
       , @exc_cost := price * quantity) AS exc_cost
    

    注1:集計メジャーとgroup by句がない場合、変数は列の順序に従って評価されます:

    SELECT @t, @t+2 FROM (SELECT @t := 1) a
    

    出力を生成します

    @t   @t+2
     1      3
    


    1. メソッドIlluminate\Support \ Collection::saveはLaravelに存在しません

    2. ClusterControl1.4.1の発表-ProxySQLEdition

    3. jsonでエンコードされたデータをmysqlに挿入する

    4. ダウンタイムなしでPostgreSQL10をPostgreSQL11にアップグレードする方法