Mysql 选择两列宽度不同的其他列

Mysql 选择两列宽度不同的其他列,mysql,distinct,Mysql,Distinct,快速示例 sender_id || receiver_id 25 || 30 25 || 32 30 || 25 30 || 20 20 || 25 我想要这样的输出: sender_id || receiver_id 25 || 30 25 || 32 30 || 20 20

快速示例

sender_id  ||  receiver_id 
 25        ||     30 
 25        ||     32 
 30        ||     25 
 30        ||     20 
 20        ||     25 
我想要这样的输出:

sender_id  ||  receiver_id
   25      ||     30
   25      ||     32
   30      ||     20
   20      ||     50
应该是什么查询
任何人都可以帮助

注意:我想在选择中选择另一列,
不存在时

select t.*
from tablename t
where t.sender_id < t.receiver_id
or not exists (
  select 1 from tablename
  where receiver_id = t.sender_id and sender_id = t.receiver_id
)

如果您只想比较发送方id和接收方id。。。。。。。我认为您必须使用这样的子查询进行连接

select * from TABLE t 
JOIN (     
      SELECT DISTINCT sender_id, receiver_id FROM table_two  
) subqquery ON subquery.key = t.key
我希望能帮助你

试试看 此查询用于获取您的结果

select distinct a.sender_id,a.receiver_id
    from sen_rev a
    left join sen_rev b
    on a.sender_id=b.receiver_id
    where a.receiver_id<> b.sender_id
    order by a.sender_id;
选择不同的a.sender\u id和a.receiver\u id
来自SENU rev a
左连接传感器rev b
在a.sender\u id=b.receiver\u id上
其中a.接收者\ id b.发送者\ id
按a.sender\u id订购;

如果要选择的其他列不同怎么办?将返回哪一行的列?其他列(数据、消息)注意,在输出中我没有选择(30 | | 25),因为我先拖了(25 | | 30),所以我没有选择第三行。是否有像id这样的主键列,或者一个datetime列,它可以用来检查第25、30和30、25行中哪一行是第一行?我想给你做屏幕截图请看这个屏幕截图聚焦在第一行,最后一行看前面的类似(这是)第一条记录(30 | | 25)和最后一条记录(25 | | 30)从您发布的图像中的样本数据来看,您的预期输出是什么?
select distinct a.sender_id,a.receiver_id
    from sen_rev a
    left join sen_rev b
    on a.sender_id=b.receiver_id
    where a.receiver_id<> b.sender_id
    order by a.sender_id;