sql >> Database teknologi >  >> RDS >> Mysql

Fjern dubletter på MySQL JOIN-forespørgsel på JSON_ARRAYAGG med INNER JOIN

Dette besvarer det oprindelige spørgsmål.

Du behøver hverken tags heller ikke users tabel til din forespørgsel, så den kan være meget forenklet.

DISTINCT er ikke tilladt med JSON_AGG() . Men du kan bruge en underforespørgsel:

 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;

Her er en db<>violin.



  1. Hvordan skriver man en foreach i SQL Server?

  2. Er der en måde i MySQL at vende et boolesk felt med én forespørgsel?

  3. Skal jeg deaktivere MySQL strict mode?

  4. Hvordan konverteres tal til streng i Oracle?