首页 >数据库 >mysql教程 >如何从 MySQL 中的多个列中获取真正不同的值?

如何从 MySQL 中的多个列中获取真正不同的值?

Linda Hamilton
Linda Hamilton原创
2024-10-29 11:05:02489浏览

How to Get Truly Distinct Values from Multiple Columns in MySQL?

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

使用数据库时,通常需要从多个列中检索唯一或不同的值列。但是,使用简单的 SELECT DISTINCT 子句可能并不总能产生所需的结果。

问题

考虑以下场景:

Table: foo_bar

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c
a   | c
d   | a
a   | c
c   | a
f   | c

运行查询 SELECT DISTINCT foo, bar FROM foo_bar 将返回以下结果:

foo | bar
--- | ---
a   | c
c   | f
d   | a
c   | a
f   | c

请注意,虽然每列的值不同,但对本身却不同。例如,a 和 c 对出现两次,只是顺序不同。

解决方案:使用 GROUP BY

要获得真正不同的值对,您可以可以利用 GROUP BY 子句:

SELECT foo, bar FROM foo_bar GROUP BY foo, bar

GROUP BY 子句指示数据库根据指定的列对结果进行分组。在这种情况下,它将按 foo 和 bar 列对行进行分组。

因此,查询将仅返回唯一的值对:

foo | bar
--- | ---
a   | c
c   | f
d   | a

此方法可确保您仅从多个指定列中检索唯一的值组合。

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

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