这是输出
但我想要
在这个表中tb_user_connection
我得到4行,但我只想要3行,如果我在1和2中得到连接,那么不要重复列。
我尝试下面的查询,这是codeigniter项目。
我的查询:
SELECT * FROM `tb_user_connection` WHERE `connection_type` = 'a' AND (user_id = '1' OR connection_id='1')
答案 0 :(得分:1)
你可以这样做:
select *
from your_table
where user_id <= connection_id
union all
select *
from your_table t
where user_id > connection_id
and not exists (
select 1
from your_table t1
where t1.user_id = t.connection_id
and t1.connection_id = t.user_id
) t1;