加入收藏 | 设为首页 | 会员中心 | 我要投稿 沧州站长网 (https://www.0317zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL GROUP BY优先

发布时间:2021-01-18 07:06:41 所属栏目:MySql教程 来源:网络整理
导读:是否可以将GROUP BY与记录一起使用? 例如,我有一堆联系数据,可能包含或不包含所有信息-如果看起来像这样,则为CSV: Test User,Address1,Address2,test@test.com,test@test.com 如果我要发送GROUP BY电子邮件,我希望提取更相关的记录. 希望这有意义吗? 你的

是否可以将GROUP BY与记录一起使用?

例如,我有一堆联系数据,可能包含或不包含所有信息-如果看起来像这样,则为CSV:

Test User,Address1,Address2,test@test.com,test@test.com

如果我要发送GROUP BY电子邮件,我希望提取更相关的记录.

希望这有意义吗?

你的
克里斯 最佳答案 您可以使用聚合函数来获取每封电子邮件的更多“相关”记录.
我认为此查询将为您带来最佳结果:

SELECT emailAddress,max(concat(fullName,',address1,address2))
FROM table
GROUP BY emailAddress

它将为每个电子邮件地址返回最丰富的行,但是所有数据都将在一个字符串(逗号分隔)内返回,因此您必须以某种方式对其进行解析.
如果性能不成问题,并且您希望在单独的字段中获得正常的结果集,则可以选择一个:

SELECT table.emailAddress,fullName,address2 
FROM 
table JOIN 
    (SELECT emailAddress,address2)) as bestRowInOneString
    FROM table
    GROUP BY emailAddress
    ) bestRowsSubQuery 
 ON 
   concat(table.fullname,table.address1,table.address2) = bestRowsSubQuery.bestRowInOneString
   AND table.emailAddress = bestRowsSubQuery.emailAddress

(编辑:沧州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读