MySQLで、あるカラム(カラム名は「floorplan」とします)に以下のデータが入っていたとします。
1K,1K,1K,2DK,3DK,3DK,3LDK,3LDK,4DK,4LDK,4LDK,5DK,5LDK,6DK,6LDK,・・・
入る文字列は「数値」+(「L」or「DK」or「LDK」)の組み合わせのみで、数値は1<=x<=10です。
重複ありです。
この中から4LDK以上をselectする構文が浮かびません。
4DKや4Kは含まず、且つ5部屋以上の場合はL,DK,LDK全て抽出したいです。
単純に考えるなら
sql
1select * from テーブル名 where 2floorplan in ("4LDK", "5L", "5DK", "5LDK" /* ・・・ 可能性のある全て */);
もしくは
sql
1select * from テーブル名 where 2floorplan = "4LDK" or 3floorplan like "5%" or 4floorplan like "6%" or 5floorplan like "7%" or /* 10まで */;
ただ、これではどちらにせよ余りにも冗長なので、もっと簡単でスマートなlikeとinと不等式を組み合わせたような方法があったら教えて下さい。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/10 10:50
2015/11/10 10:51
2015/11/10 10:56