1

私のmysqlテーブルでは、フィールド値は次のとおりです。

    table name - "clients"                        
    field name - "accent"   
    values are - "Eastern(Northern,Southern),Scottish(East Coast)"
                 "Eastern(South,North,Southern),Scottish(East Coast)"

私が与える場合
select accent from clients where accent like '%north%'

100 を超えるレコードが同じ順序でない場合。括弧内の文字列は、順序が同じでないことを意味します。

上記の2つの値が得られます。2番目の値のみを取得するにはどうすればよいですか?

助けてください、ありがとう。

4

3 に答える 3

0

オフセット属性を使用できます。

select accent from clients where accent like '%north%' limit 1 offset 1

ここで、limit は 1 つのレコードのみを取得することを意味し、offset は 2 番目の項目から開始することを意味します。

于 2013-11-07T09:03:17.113 に答える
0

これを試して

select accent from clients where accent like '%North,%'

アップデート:

北ではなく北のみを選択する場合は、これを試してください

select accent from clients where accent like '%North%' and accent not like '%Northern%'

北部の値のみが必要な場合は、これを試してください

select accent from clients where accent like '%Northern%'

これで問題が解決することを願っています。

于 2013-11-07T08:43:26.420 に答える
0

これを試して:

select accent from clients where accent regexp 'North[^a-z]'

正規表現は、「North」を含み、その後に他の文字が続かないすべてに一致することを意味します

于 2013-11-07T08:45:45.443 に答える