sql >> Database >  >> RDS >> Mysql

Verwijder duplicaten op MySQL JOIN-query op JSON_ARRAYAGG met INNER JOIN

Dit beantwoordt de oorspronkelijke vraag.

Je hebt noch de tags . nodig noch de users tabel voor uw zoekopdracht, zodat deze veel vereenvoudigd kan worden.

DISTINCT is niet toegestaan ​​met JSON_AGG() . Maar u kunt een subquery gebruiken:

 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;

Hier is een db<>viool.



  1. Bereken het percentage van de wortel dat eigendom is van de ouders

  2. MySQL:resterende dagen van abonnementen berekenen op basis van betalingen

  3. Docker exec - kan postgres niet aanroepen met omgevingsvariabelen

  4. Moet ik de tijdzone apart opslaan van de tijdstempel voor Postgres en JDBC?