データをオペレーションにエクスポートする場合、フィールドの結合は避けられません。MySQL でこれができれば、多くのコードを節約できます。
Mysql には、フィールドを連結できる関数がいくつかあります。 連結() 複数のフィールドを 1 つのフィールドに連結するには、空の文字列を使用します。 mysql> mm_content から concat(id, type) を選択し、制限 10 にします。 +------------------+ | 連結(ID, タイプ) | +------------------+ | 100818画像 | | 100824画像 | | 100825ビデオ | | 100826ビデオ | | 100827ビデオ | | 100828ビデオ | | 100829ビデオ | | 100830ビデオ | | 100831ビデオ | | 100832ビデオ | +------------------+ セット内の行数は 10 です (0.00 秒) ただし、いずれかのフィールド値が NULL の場合、結果は NULL になります。 mysql> mm_content から concat(id, type, tags) を選択し、制限 10 にします。 +------------------------+ | 連結(ID、タイプ、タグ) | +------------------------+ | NULL | | NULL | | NULL | | NULL | | NULL | | NULL | | NULL | | NULL | | NULL | | NULL | +------------------------+ セット内の行数は 10 です (0.00 秒) 連結ws() 上記の方法で区切り文字を使用してフィールドを分割する場合、各フィールドの途中に文字列を挿入する必要があり、非常に面倒です。 mysql> mm_content から concat_ws(' ', id, type, tags) を選択し、制限を 10 にします。 +--------------------------------+ | concat_ws(' ', id, type, tags) | +--------------------------------+ | 100818 画像 | | 100824 画像 | | 100825 ビデオ | | 100826 ビデオ | | 100827 ビデオ | | 100828 ビデオ | | 100829 ビデオ | | 100830 ビデオ | | 100831 ビデオ | | 100832 ビデオ | +--------------------------------+ セット内の行数は 10 です (0.00 秒) グループ連結() 最後のはすごいですね。通常であれば、このように記述すると間違いなくエラーになります。 mysql> test_user グループから年齢別に ID を選択します。 エラー 1055 (42000): SELECT リストの式 #1 は GROUP BY 句内になく、GROUP BY 句内の列に機能的に依存しない非集計列 'test_user.id' が含まれています。これは sql_mode=only_full_group_by と互換性がありません。 しかし、 mysql> test_user グループから group_concat(name) を age で選択します。 +--------------------+ | group_concat(名前) | +--------------------+ | 文寧 | | wxnacy、勝利 | +--------------------+ セット内の 2 行 (0.00 秒) デフォルトでは、データの区切りにカンマが使用されますが、区切り文字を指定することもできます。 mysql> test_user group by age から group_concat(名前区切り文字 ' ') を選択します。 +----------------------------------+ | group_concat(名前区切り文字 ' ') | +----------------------------------+ | ウェンニン | | wxnacy 勝利 | +----------------------------------+ セット内の 2 行 (0.00 秒) 文字列を特定の順序で並べる mysql> select group_concat(name order by id desc Separator ' ') from test_user group by age; +---------------------------------------------------+ | group_concat(名前をID降順区切り文字 ' ' で並べ替え) | +---------------------------------------------------+ | ニン・ウェン | | 勝つ wxnacy | +---------------------------------------------------+ セット内の 2 行 (0.00 秒) 複数のフィールドを連結する場合、デフォルトでは連結に空の文字列が使用されます。concat_ws mysql> test_user から、年齢別に group_concat(concat_ws(',', id, name) セパレーター ' ') を選択します。 +------------------------------------------------------+ | group_concat(concat_ws(',', id, name) セパレーター ' ') | +------------------------------------------------------+ | 1,wen 2,ning | | 3,wxnacy 4,win | +------------------------------------------------------+ セット内の 2 行 (0.00 秒) 上記は、Mysql がフィールドスプライシングを実装する 3 つの関数の詳細です。MySQL の文字列スプライシングの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
>>: Windows 上で Nginx+Tomcat クラスタを実装するプロセスの分析
テキストファイルの内容を並べ替える使用方法: ソート + オプション + ファイル名 (複数のファイ...
DataframeはSpark 1.3.0で導入された新しいAPIで、Sparkで大規模な構造化デー...
この記事の例では、ユーザー登録インターフェース機能を実装するためのJSの具体的なコードを参考までに共...
Linux がすべてのコマンドをサポートしていない場合はどうすればいいですか?すべてのLinuxコマ...
コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...
序文バックアップは災害復旧の基礎であり、システム操作エラーやシステム障害によるデータ損失を防ぐために...
インストールスクリプトUbuntu / CentOS Debian のインストールに問題があるようで...
目次1. コンポーネントの登録2. コンポーネントの使用3. 父から息子へ4. 息子から父へ5. ス...
この記事の例では、画像デジタル時計を実現するためのJSの具体的なコードを参考までに共有しています。具...
データURI Data URI は、小さなファイルをドキュメントに直接埋め込むために RFC 239...
目次導入1. 異食症2. レナ3. コンプレッサー4. ファブリック5. ぼかす6. 画像を結合する...
tortoiseGit のインストール時にいつも問題があったので、単純に svn に変更しました。途...
この記事の例では、テーブルを動的に生成するjsの具体的なコードを参考までに共有しています。具体的な内...
序文このプロジェクトには、衛星測位用のグラフィックスを含むチャートの要件があり、北半球または南半球の...
私は長い間落ち込んでいます、なぜでしょうか?以前、お客様から、提供されたソフトウェアが正常に動作しな...