グループ化された結果の各列の latest 非 null 値を選択して行をマージ/結合するにはどうすればよいですか?
id | ###ユーザー### ###フルーツ### ###番号###作成時間 | 1 | ###単純### ###りんご### ###ヌル###||
---|---|---|---|---|
2 | ジョン | ###スイカ###32 | 2022-01-02 | |
ジョン | ###ヌル###72 | 2022-01-03 | 4 | |
2022-01-04 | 次の方法は機能しません: | リーリー | 結果が次のようになることを願っています:リーリー | 問題は、COALESCE() 関数が値セットでは機能せず、リストでのみ機能することです。|
COALESCE()
は集計関数ではなく、指定された値のリストでのみ機能するため、この投稿で @jsowa の回避策を見つけました: 「COALESCE」が機能しない理由「GROUP BY」と併用?COALESCE()
の代わりにSUBSTRING_INDEX(GROUP_CONCAT())
を使用できます。GROUP_CONCAT() の ORDER BY 句に特に注意してください。 欠点は、どの値でも区切り文字が 未使用の 文字でなければならないことです。
リーリー結果を返す
リーリー