sql使用ロジック制御文

664 ワード

実際の生活では、列挙を使った状態コードがたくさんあります.いくつかの検索SQLでは、これらの列挙に対応しています.例えば、支払状態status 0、1,2,3,4 case when‘条件1’then‘値1’when‘条件2’then‘値2’else‘値3’end
例:
SELECT  id,  case 
when status =2 then '   '
when status =3 then '   '
when status = 4 then '   '
end	 as `    ` FROM test_table ORDER BY `id` DESC  LIMIT 0,50;

mysql索引
https://tech.meituan.com/2014/06/30/mysql-index.html
できるだけ区分度の高い列を索引として選択し、区分の公式はcount/count(*)であり、フィールドが重複しない割合を表しています.割合が大きいほど、私達がスキャンした記録数が少なくなります.唯一のキーの区分度は1です.いくつかの状態、性別フィールドは大きなデータの前で0に分割されています.この割合はどのような経験値がありますか?使用場面によっては、この値も確定しにくいです.一般的にjoinが必要なフィールドは0.1以上、つまり平均1本で10本のレコードをスキャンすることが必要です.