首页  >  文章  >  数据库  >  如何从 MySQL 中的多个列中选择不同的值组合?

如何从 MySQL 中的多个列中选择不同的值组合?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-02 16:18:02462浏览

How to Select Distinct Value Combinations from Multiple Columns in MySQL?

从 MySQL 中的多个列中选择不同的值

使用数据库时,通常需要从多个列中检索唯一的值组合。但是,使用 DISTINCT 关键字可能并不总是能产生所需的结果。本文探讨了从 MySQL 数据库中的两列中选择不同值的另一种方法。

考虑下面名为“foo_bar”的表:

foo bar
a c
c f
d a
c a
f c
a c
d a
a c
c a
f c

使用以下 SQL 语句查询此表:

<code class="sql">SELECT DISTINCT foo, bar FROM foo_bar;</code>

产生以下结果:

foo bar
a c
c f
d a
c a
f c

虽然此查询确保仅返回每个唯一值组合的一个实例,但它并不能消除值的冗余在两列中交换。例如,“a c”和“c a”都是不同的组合,但它们引用相同的数据。

要解决这个问题,我们可以使用 GROUP BY 子句:

<code class="sql">SELECT foo, bar FROM foo_bar GROUP BY foo, bar;</code>

此查询返回以下结果:

foo bar
a c
c f
d a

如您所见,GROUP BY 子句将所有重复行合并为一行,有效消除重复并提供真正不同的值组合foo 和 bar 列。

以上是如何从 MySQL 中的多个列中选择不同的值组合?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn