当前位置: 首页 > 面试题库 >

从两列中选择不同的组合

唐阳泽
2023-03-14
问题内容

我在表Hyperlink中有两列,即源和目标,用于存储超链接的源和目标。

source | destination 
-------------------- 
  a    |  b 
  b    |  c 
  c    |  d 
  c    |  b

有两个涉及b和c的超链接。两个超链接之间的区别在于超链接的方向。但是,我的目标是无论任何方向都检索唯一的超链接。因此,对于从b到c和从c到b的超链接,我只想选择其中之一。任何人都会做。

因此,我的结果应如下所示:

source | destination 
-------------------- 
  a    |  b 
  b    |  c 
  c    |  d

到目前为止,我可以使用Java进行一些处理,然后再使用JDBC执行SQL语句。但是,当表很大时,这将非常繁琐。

我想知道是否无论如何我可以用SQL代替。

我尝试过,SELECT DISTINCT source,destination FROM Hyperlink但它返回了我独特的排列。我需要独特的组合。

谢谢!


问题答案:

使用minimum()和great()运算符可以轻松实现这一点,但是由于MySQL不支持它们,因此您需要使用CASE构造来获得较小/较大的构造。有两列是可以的,但是一旦涉及更多列,此解决方案就会变得很混乱

select distinct 
          case 
            when source < destination then source 
            else destination 
          end as source,
          case 
            when source > destination then source 
            else destination 
          end as destination
from hyperlinks


 类似资料:
  • 问题内容: 假设我有一个数据框如下 现在,我希望a和b列不同的行。所以预期的输出是 我怎样才能做到这一点? 问题答案: 我喜欢可读性,请使用: 输出:

  • 问题内容: 我有一个看起来像这样的mysql表: 我需要一个查询来选择具有不同的第2列和第3列的所有行,例如,我希望此示例的输出如下所示: 我已经找到了一些有关如何执行此操作的示例,但它们在每一列上的选择都是不同的。 问题答案: 假设第一列是唯一的,则可以执行以下操作: 看到它在线运行:sqlfiddle

  • 问题内容: 有这张桌子 和这个 我如何从表“项目”中选择所有行并显示字段“已删除”,即使在给定用户ID的情况下,即使“ MyList”中不存在itemID? 查询结果示例: 什么是查询,以便我可以得到该结果? 谢谢 问题答案: 我不确定这是否是最好的方法,但它会返回我一直在寻找的内容:

  • 问题内容: 上面的代码创建一个带有两个列表框的窗口。但是,如果要从这两个值中检索值,就会出现问题,因为一旦在一个值中选择一个值,它就会取消选择在另一个值中选择的值。 这仅仅是开发人员必须忍受的限制吗? 问题答案: 简短答案:将所有列表框小部件的属性值设置为False或零。 从列表框小部件的pythonware概述中: 默认情况下,选择被导出到X选择机制。如果您在屏幕上有多个列表框,这确实会使可怜的

  • null 我什么也想象不到,有人来帮我吗? ----编辑---- @拉胡尔, 141  测试粉笔 ;   141        123 141  测试粉彩 ;   141        可见

  • 在Loc vs. iloc vs. ix vs. at vs. iat的答案中选择?例如。 现在我想要所有的栏目,除了“食物”和“高度”。 我认为类似于的东西可以工作,但是Python返回。 我知道有一种解决方法:。然而,在我的现实生活中,我有数百列要删除。键入所有列名是如此低效。 我期待类似于R语言中的或。 还阅读了选择/排除Pandas中的列集。