sql >> データベース >  >> RDS >> Mysql

INNERJOINを使用したJSON_ARRAYAGGのMySQLJOINクエリの重複を削除します

    これは元の質問に答えます。

    tagsも必要ありません usersも クエリ用のテーブルなので、大幅に簡略化できます。

    DISTINCT JSON_AGG()では許可されていません 。ただし、サブクエリを使用できます:

     SELECT b.user_id, JSON_ARRAYAGG( b.tag_id) AS tags
     FROM (SELECT DISTINCT b.user_id, bt.tag_id
           FROM bookmark_tag bt JOIN
                bookmark b 
                ON b.id = bt.bookmark_id
          ) b
     GROUP BY b.user_id;
    

    こちら db<>フィドルです。



    1. Docker Compose + Spring Boot+Postgres接続

    2. MySQL-違いを保持しながら複数の行をグループ化

    3. このHibernateMySQL接続が読み取り専用であるのはなぜですか?

    4. MySQL:4つのテーブルには-多くの-スルー結合がありますか?