在 MySQL 中从两列中选择不同的值:克服重复条目
在 MySQL 数据库管理中,区分多个列中的重复值可以呈现出挑战。考虑以下场景:
问题:
名为“foo”的数据库表包含两列“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”时,会得到以下结果:
foo | bar |
---|---|
a | c |
c | f |
d | a |
c | a |
f | c |
但是,这些结果包含 'foo' 和 ' 的重复配对bar'值,例如'a'和'c',它们以不同的顺序出现。目标是只从两列中选择不同的值,消除这些重复项。
答案:
为了解决这个问题,MySQL 提供了 'GROUP BY' 子句,它根据指定的列对行进行分组,并为每一组仅选择一个不同的行。通过使用此子句,我们可以按如下方式修改查询:
SELECT foo, bar FROM foo GROUP BY foo, bar;
此修改后的查询将产生以下结果:
foo | bar |
---|---|
a | c |
c | f |
d | a |
按 'foo' 和 ' 对行进行分组bar',查询确保每个不同的值组合在结果中只出现一次,无论它们出现的顺序如何。
以上是如何从 MySQL 中的两列中选择不同的值并消除重复条目?的详细内容。更多信息请关注PHP中文网其他相关文章!