[解決済み] MySQLのCONCATでGROUP_CONCATを使用する方法
2022-03-09 09:20:01
質問
MySQLで以下のデータを持つテーブルがある場合。
id Name Value
1 A 4
1 A 5
1 B 8
2 C 9
を次のような形式にするにはどうしたらよいでしょうか。
id Column
1 A:4,5,B:8
2 C:9
を使用しなければならないと思います。
GROUP_CONCAT
. しかし、私はそれがどのように動作するのかよく分からない。
どのように解決するのですか?
select id, group_concat(`Name` separator ',') as `ColumnName`
from
(
select
id,
concat(`Name`, ':', group_concat(`Value` separator ',')) as `Name`
from mytbl
group by
id,
`Name`
) tbl
group by id;
ここで実装を見ることができます : Sql Fiddleデモ . まさに必要なもの。
更新情報 2つのステップで分割します。まず、一意な[Name,id]に対してすべての値(カンマ区切り)を持つテーブルを取得します。次に、得られたテーブルから、一意なidに対して、すべての名前と値を1つの値として取得します。 この説明はこちら SQLフィドルデモ (結果セットが2つあるので下にスクロールしてください)
編集 質問を読んでいて、idだけでグループ化していたのは間違いでした。しかし、(値が名前とidでグループ化され、idで全体化される)場合、2つのgroup_contactsが必要です。 前回の回答は
select
id,group_concat(concat(`name`,':',`value`) separator ',')
as Result from mytbl group by id
ここで実装を見ることができます : SQL Fiddleデモ
関連
-
[解決済み】MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175のエラーが発生しました。
-
[解決済み] MySQLを使用したパーセンタイル値の計算
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] MySQLでdatetimeとtimestampのどちらのデータ型を使用すべきですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み] mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows etc. は、パラメータ 1 がリソースであることを期待する。
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
-
[解決済み】ホスト 'xxx.xx.xxx.xxx' がこのMySQLサーバーへの接続を許可されていない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】mysqlが内部または外部のコマンド、操作可能なプログラムまたはバッチとして認識されない。
-
[解決済み】カラムのデータが切り捨てられた?
-
[解決済み] 1030 ストレージエンジンからエラー28が発生しました
-
[解決済み] MySQL エラー: キーの長さがないキー指定
-
[解決済み] MySQLで週単位でグループ化する方法は?
-
[解決済み] WHEREで集計関数は使用できません "というエラーを回避する方法
-
[解決済み] このMySQLエラー Incorrect column specifier for column COLUMN NAMEを回避するにはどうしたらよいですか?
-
[解決済み] MySQLのエラーコードです。MySQL WorkbenchでUPDATE中に1175が発生する
-
[解決済み] ルートユーザーでログインしているのに、phpMyAdminがデータベースを作成する権限がないと言う
-
[解決済み] エラー 1049 (42000)。不明なデータベース