Mysql DISTINCT语句如何合并一个表中的两行
请给出如何从一个表中合并两行的解决方案,然后如何使用distinct 查询:Mysql DISTINCT语句如何合并一个表中的两行,mysql,sql,distinct,Mysql,Sql,Distinct,请给出如何从一个表中合并两行的解决方案,然后如何使用distinct 查询: select distinct uid , r_uid from messenger where uid=213 or r_uid =213 我得到了这样的输出 uid r_uid -------------- 213 239 239 213 ----------------- 但我们需要像这样 new id
select distinct uid , r_uid from messenger where uid=213 or r_uid =213
我得到了这样的输出
uid r_uid
--------------
213 239
239 213
-----------------
但我们需要像这样
new id
-----------
239
---------
请给我任何我在MySQL中是新手的解决方案,提前谢谢使用
union
:
select uid as new_id from messenger
where uid = 213
union
select r_uid from messenger
where r_uid = 213;
我认为您正在寻找“其他价值”。最简单的方法可能是:
select uid
from messenger
where r_uid = 213
union -- intentional, remove duplicates
select r_uid
from messenger
where uid = 213;
您也可以使用案例
:
select distinct (case when r_uid = 213 then uid else r_uid end)
from messenger
where 213 in (r_uid, uid);
也将返回213。@CforCode…作为OP,您可以接受您喜欢的任何答案。然而,我很好奇,为什么您在一年多后不接受这个答案。