【问题标题】:MySQL get all unique values between two columnsMySQL获取两列之间的所有唯一值
【发布时间】:2014-04-10 00:23:16
【问题描述】:

我有一个包含 ID 的两列的表。我想查询该表以显示两列中每个 ID 的一个列表。

TABLE
A | B
-----
1 | 2
2 | 3
5 | 4
6 | 2

我希望结果是:

TABLE
  A
  -
  1
  2
  3
  5
  4
  6

【问题讨论】:

  • 你的意思是有一个包含两列的表?

标签: mysql sql multiple-columns


【解决方案1】:

使用 UNION 运算符

SELECT A FROM TABLE
UNION
SELECT B FROM TABLE

【讨论】:

  • 或者将它们添加到临时表中并使用 ORDER BY 选择它们(如果列 A 和 B 都具有相似的值,即“2”,则不确定 UNION 是否有效
  • +1。这是最直接的方法。 @Achilles:UNION 集合运算符消除了重复值;要禁用该行为,我们将使用 UNION ALL 集合运算符,它只是将集合连接在一起,而不执行遍历整个集合以查找和消除重复项的额外步骤。
  • 我同意你的看法。我想这将取决于@Kevin 来决定。
  • 生成的表不包含问题中的重复项,而源列包含重复项,因此需要消除重复项(UNION 可以,而 UNION ALL 不会)。
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-26
相关资源
最近更新 更多