2017-12-26 11 views
0

テーブルT1のフィールドがordersの場合、Textというデータ型があります。MySQLフィルタとしてのテキストとしてデータ型を持つDistinctとしてフィールドを選択します。

user:1|number:2|expiry:9/2018 
user:3|number:2|expiry:9/2018 
user:1|number:3|expiry:1/2020 

と私はそう期待出力つもりがあることnumber:expiry:

に基づいてSELECTDISTINCTにしたいと思います:

どう
user:1|number:2|expiry:9/2018 
user:1|number:3|expiry:1/2020 

次のような

〜にacそれを知っている?

答えて

0

このような構造的な問題を回避するには、データを再構成し、これらの詳細を別々の列または別の表と異なる列に保存することを検討する必要があります。

今既存の構造で、あなたの予想データ

select min(orders) orders 
from table1 
group by substring_index(orders,'|',-2) 

http://rextester.com/GLT33046

+0

を取得するために凝集を使用できるため、あなたは平均 'SUBSTRING_INDEX(受注、 '|'、 - 2)何が私のために説明することができます' –

+0

@MichaelLucasこの関数は、 '|'のような区切り文字で区切り文字を区切っています。最後の引数は、ケースのテキストをどこから選ぶかです。-2を指定して最初のパイプの後にテキストを選択するか、 'table1'から' select substring_index(orders、 '|'、 - 2)関数の実際の出力を取得するためのクエリ –

関連する問題