SQL質疑応答スレ 10問目at DBSQL質疑応答スレ 10問目 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト335:NAME IS NULL 10/07/27 17:38:55 品目 日付 ------------------------------- 酢だこ 7/20 酢だこ 6/20 まだこ 7/21 まだこ 7/1 まだこ 6/25 大だこ 7/1 いか 6/20 こんな感じのテーブルがあり、品目名に"だこ"を含むデータを出現頻度の高い順に取り出そうとしていますが、 select 品目,日付 from table where 品目 in (select 品目 from table 品目 like '%だこ%' group by 品目 order by count(品目) desc; で、やってみたのですが、遅すぎて使えませんでした。 何かいいやり方は無いでしょうか? お願い致します。 336:NAME IS NULL 10/07/27 18:50:49 like は前方一致じゃないとインデックスを使えない。 「○○だこ」のパターンがあらかじめ全部分かっていれば where 品目 in ('酢だこ','まだこ','大だこ') などにすればインデックス(があれば)使ってくれるはず。 337:NAME IS NULL 10/07/27 18:59:14 >>335 いまいち何がやりたいかわからんな select 品目,count(*) as 件数 from table where 品目 like '%だこ%' group by 品目 order by count(*) desc とかじゃダメなのか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch