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

MySQL ORDER BY FIELDと%

    これにより、それを最大限に制御できるはずです:

    order by
      case left(positions.colleague_position_id, 1)
        when 'A' then 1
        when 'F' then 2
        when 'T' then 3
        when 'S' then 4
        when 'C' then 5
        else 6
      end, positions.colleague_position_id
    

    これは、一致しないすべての値を目的の位置(この場合は最後)に送信できるためです。 field() 関数は0を返します 一致しない値の場合、Aで始まる値の前でも結果セットの先頭に配置されます 。

    さらに、positions.colleague_position_idで注文することもできます 例で行ったように、多くのpositions.colleague_position_id 同じ文字で始まるものは、引き続き順番に表示されます。



    1. PHPとMySQLを書き直して、HTMLリストを等しい列値でグループ化するにはどうすればよいですか?

    2. 自動化されたAJAX攻撃を防ぐ方法

    3. データベースまたはWebアプリケーションでのページングの選択

    4. トリガーはトランザクションですか?