フィールドの別個の部分文字列値を選択し、その選択内のcharのインスタンス数を数えようとしています。 私はthisの半分に答えるすばらしい投稿を見つけました。フィールドの異なる部分文字列値を選択し、その選択内の文字のインスタンス数を数えます。
これまでのところ、私はフィールド内のcharのインスタンスを数えることができます。今私が使用して文字列の一部を選択した場合は何でも難しい部分、:
SELECT DISTINCT SUBSTRING_INDEX(my_field, '-', -1) AS chunk
この場合は私が唯一の文字列の最後の部分を選択しています(すべて「last'-後)。どのように私はチャンクにこの式を適用することができます(新しい文字列に「_」のインスタンスの数をカウントしようとしている:?
(LENGTH(chunk) - LENGTH(REPLACE(chunk, '_', '')))/LENGTH('_')
私はそれが本当ではないとして、チャンクの操作をするためにHAVING使用することshoud知っていますフィールドが、どのように私は何かのように行うことができます。
SELECT DISTINCT SUBSTRING_INDEX(my_field, '-', -1) AS chunk, (LENGTH(chunk) - LENGTH(REPLACE(chunk, '_', '')))/LENGTH('_') AS total FROM my_field HAVING total < 2
ここでの問題は、それがフィールドではありませんので、私は最後の部分に「チャンク」を使用できないことです。..
編集:yea that works to :) – Eric