sql >> Databáze >  >> RDS >> Mysql

Odstraňte duplikáty v dotazu MySQL JOIN na JSON_ARRAYAGG pomocí INNER JOIN

To odpovídá na původní otázku.

Nepotřebujete ani tags ani users tabulku pro váš dotaz, takže ji lze výrazně zjednodušit.

DISTINCT není povoleno s JSON_AGG() . Můžete ale použít poddotaz:

 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;

Zde je db<>hudlík.



  1. Jak mohu vyřešit [CHYBA] InnoDB:Chyba operačního systému číslo 87 v operaci se souborem na mysql?

  2. Standardní SQL alternativa k Oracle DECODE

  3. Volejte uloženou proceduru Oracle z Java App pomocí hibernace a fondu připojení c3p0

  4. MySQL regexp mnohem pomalejší než jako