MYSQL UNION DISTINCT

前端 未结 3 1662
青春惊慌失措
青春惊慌失措 2020-12-13 14:18

I have two selects that I\'m currently running as a UNION successfully.

(SELECT a.user_id,
          a.updatecontents AS city,
          b.country
   FROM use         


        
3条回答
  •  清歌不尽
    2020-12-13 14:36

    No. You cannot specify which exact field you need to distinct with. It only works with the whole row.

    As of your problem - just make your query a subquery and in outer one GROUP BY user_id

    SELECT * FROM 
    (SELECT a.user_id,a.updatecontents as city,b.country
    FROM userprofiletemp AS a
    LEFT JOIN userattributes AS b ON a.user_id=b.user_id
    WHERE typeofupdate='city')
    
    UNION DISTINCT
    
    (SELECT a.user_id,c.city,c.country
    FROM userverify AS a
    LEFT JOIN userlogin AS b ON a.user_id=b.user_id
    LEFT JOIN userattributes AS c ON a.user_id=c.user_id
    WHERE b.active=1 AND a.verifycity=0) x
    GROUP BY user_id
    

提交回复
热议问题