0
0

【SQL】COALESCE関数で0かNULLを一番下にする※複数も対応SELECTとCONCATもいける

Last updated at Posted at 2022-02-09

画像があるデータを一番上にして、nullのふりがなを一番下にした状態で、ふりがなで昇順ソート

ORDER BY COALESCE(number,0) = 0,number

COALESCEが複数

SELECT 
     A.id,A.name,A.def,A.speed
FROM M_accessory_data A 
ORDER BY COALESCE(A.def,0) = 0,COALESCE(A.speed,0) = 0,A.def,A.speed

COALESCEでSELECTとCONCAT

SELECT 
   COALESCE(NULL,CONCAT(name,bunrui,.koka),CONCAT(name,koka)) name
FROM テーブル

※説明

まず画像があるデータを一番上にする

coalesce関数でfuriganaがnullじゃないデータを一番上にする

ORDER BY 列名 [NULLS FIRST or NULLS LAST]が
使えそうな予感

$this->db->order_by("img_icon_flg DESC,coalesce(furigana, '') = '' ASC,furigana");
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0