当前位置: 首页 > 知识库问答 >
问题:

如何求解SQL单数对

曾丰茂
2023-03-14

嗨,我的问题是我必须列出所有的单相思(A喜欢B但B不喜欢A)

A B 
1 2 
2 1 
3 1 

在这个例子中,我的解决方案将是对3 1(因为1喜欢2,2也喜欢1 back),我应该如何用SQL的形式表达它呢?

共有3个答案

刘兴修
2023-03-14

使用仅返回不匹配行的selfleft联接:

select t1.*
from tablename t1 left join tablename t2
on t2.a = t1.b and t2.b = t1.a
where t2.a is null

请参阅演示。
结果:

| A   | B   |
| --- | --- |
| 3   | 1   |
程瑞
2023-03-14

您可以用非常类似于编写问题的方式来表述查询。您正在查找不存在“B喜欢A”行的“A喜欢B”行。

假设表的名称为mytable:

select *
from mytable t1
where not exists (
  select *
  from mytable t2
  where t1.A = t2.B and t1.B = t2.A
);
章承
2023-03-14

您可以使用NOT IN wit SLEECT具有匹配项的所有id

CREATE TABLE rel (
  `A` INTEGER,
  `B` INTEGER
);

INSERT INTO rel
  (`A`, `B`)
VALUES
  ('1', '2'),
  ('2', '1'),
  ('3', '1');
SELECT A,B FROM rel WHERE A NOT IN (SELECT r1.A FROM rel r1 INNER JOIN rel r2 ON r1.A = r2.B and r1.B = r2.A)
 A |  B
-: | -:
 3 |  1

db<;>此处小提琴

 类似资料:
  • 问题内容: 我有多行数据共享相同的公司ID。 有没有一种方法可以使用SQL Server Management Studio 2005对所有金额进行“总和”,以便为每个公司ID给我一行数据? 例如,我目前有以下数据…… 我想尝试得到的是....... 有没有办法做到这一点? 任何指向我正确方法的建议都很好。 谢谢, 问题答案:

  • 本文向大家介绍python如何求解两数的最大公约数,包括了python如何求解两数的最大公约数的使用技巧和注意事项,需要的朋友参考一下 题目: 给定两个自然数,求这两个数的最大公约数。 分析: 单看题目的话,非常简单,我们可以循环遍历自然数,如果能够整除两个自然数,就把这个数记下来,在这些记录中找到最大的一个。 但是这样做有几个缺点:一是做除法计算量比较大,二是遍历所有自然数完全没有必要。另外,如

  • 问题内容: 我有PostgreSQL数据库,我尝试打印所有用户(人)。 当我执行此查询时 我得到所有车主按汽车数量排序 输出: 当我尝试链接所有者ID时,所有订单都出错了。 输出:和其他数据 你看比命令是错误的。所以这是我的问题,我该如何保存该订单? 问题答案: 解开混乱。先汇总,然后再加入: 无需加入两次。如果您计数 最多或所有行, 这应该是最快的。 对于 较小的选择 , 相关子查询 更快: 至

  • 问题内容: 我正在使用MySQL,并且有两个表: 订单号 项目 数量 项目 BAL_QTY 主表具有重复项和值。我使用SQL’GROUP BY’子句获得总计。 我需要从(master_table)的总和中扣除/减去。我有使用查询的SUM 值(实际上有很多行)。 问题答案: 我认为这就是您要寻找的。是从余额中减去的s 的总和: 如果要使用新余额更新项目余额,请使用以下命令: 假设您向后发布减法;它从

  • 问题内容: 如何在纯SQL中请求随机行(或尽可能接近真正的随机行)? 问题答案: 参见这篇文章:SQL从数据库表中选择一个随机行。它介绍了在MySQL,PostgreSQL,Microsoft SQL Server,IBM DB2和Oracle中执行此操作的方法(以下内容从该链接复制而来): 使用MySQL选择一个随机行: 使用PostgreSQL选择一个随机行: 使用Microsoft SQL

  • 问题内容: 如何使复数/单数词代表所有形式? 示例:如果某人搜索“男士戒指”,我如何检查数据库以查看是否有任何字段包含“男士”,“男士”,“男士”,“戒指”,“戒指”等? 问题答案: 使用LIKE似乎并不是满足您需求的最佳方法。我将研究MySQL FULLTEXT索引以获得基本功能。我将不得不进一步研究复数形式,以查看是否可以实现。 看看这两个FULLTEXT索引信息链接。 http://dev.

  • 本文向大家介绍学习SpringMVC——如何获取请求参数详解,包括了学习SpringMVC——如何获取请求参数详解的使用技巧和注意事项,需要的朋友参考一下 @RequestParam,你一定见过;@PathVariable,你肯定也知道;@QueryParam,你怎么会不晓得?!还有你熟悉的他(@CookieValue)!她(@ModelAndView)!它(@ModelAttribute)!没错

  • 我们的SQL服务器上出现了死锁。我在堆栈溢出和其他地方读了很多页,但是我找不到如何读取跟踪日志的一步一步的指令列表。有人能告诉我如何解释这个吗?显然现在我需要知道如何解释这个特定的日志,但是我真正需要的是长期学习如何读取未来的日志。 完整的跟踪日志如下。让我解释一下我们是如何解释的。然后你可以告诉我我们做错了什么,以及如何正确阅读。 我们在想这些话: 06/14/2018 14:56:25, sp