Mysql查询选择2个具有1个不同的值[重复]
Posted
技术标签:
【中文标题】Mysql查询选择2个具有1个不同的值[重复]【英文标题】:Mysql query select 2 values with 1 Distinct [duplicate] 【发布时间】:2017-11-17 10:59:29 【问题描述】:我的表结构-
用户名:网站
我只想选择唯一的网站 我试过运行这个查询 -
SELECT DISTINCT username,website from asd
但它选择了唯一的组合
例子-
John www.google.com
Jack www.google.com
Tom www.facebook.com
查询应返回 John - www.google.com Tom - www.facebook.com
谢谢
【问题讨论】:
为什么不杰克和汤姆,你说约翰应该来的依据是什么? 约翰的记录保留在杰克的记录之上的逻辑是什么? John OR Jack 应该被忽略,因为 google.com 不是唯一的 【参考方案1】:你可以在你的情况下使用GROUP BY
:
SELECT username, website FROM asd GROUP BY website
【讨论】:
惊人的解决方案,就像一个魅力。谢谢。【参考方案2】:当您将DISTINCT
与多于一列一起使用时,它将在成对的列中搜索不同的列。所以你得到的数据是绝对正确的。
对于您的要求,请详细说明为什么需要John
而不是Jack
?
【讨论】:
John OR Jack 应该被选中,因为 google.com 是重复的 你如何决定是约翰还是杰克? 我猜这取决于mysql的逻辑。我的这个任务不是那么重要,所以我可以把它留给mysql来选择。但我也想知道如何决定以上是关于Mysql查询选择2个具有1个不同的值[重复]的主要内容,如果未能解决你的问题,请参考以下文章