Mysql 自连接用于独特的组合

标签 mysql

我有一个表 session 如下:

sessionid   conversationid  agentid

SES153130074572578571   001a60f3-d95c-4434-a8c0-fabb7d815277_OD112807172056802000   igs.399760
SES15313020119321989    001a60f3-d95c-4434-a8c0-fabb7d815277_OD112807172056802000   hgs.20073
SES153130276854998136   001a60f3-d95c-4434-a8c0-fabb7d815277_OD112807172056802000   igs.100000000308235
SES153128080803552749   00803e49-0325-4bef-b133-8c5e97f2fccc_OD112706138643350000   hgs.20031
SES153128342589414965   00803e49-0325-4bef-b133-8c5e97f2fccc_OD112706138643350000   hgs.20031
SES153129466185930775   008bba3a-98fa-414a-8f99-96956513bc66_OD112757403158502000   igs.401836
SES153129612178429544   008bba3a-98fa-414a-8f99-96956513bc66_OD112757403158502000   hgs.20076
SES153129179161527928   00976601-aac7-4ec7-9e03-61cd59875650_Payment Related Queries    hgs.20071
SES153129238786010778   00976601-aac7-4ec7-9e03-61cd59875650_Payment Related Queries    igs.100000000307102

我想要其中一个conversationid仅分配给一个代理id的行(将省略一个conversationid分配给多个代理id的情况) 即我的输出应如下所示:

sessionid   conversationid  agentid
SES153128080803552749   00803e49-0325-4bef-b133-8c5e97f2fccc_OD112706138643350000   hgs.20031
SES153128342589414965   00803e49-0325-4bef-b133-8c5e97f2fccc_OD112706138643350000   hgs.20031

请帮忙解答

最佳答案

select sessionid,agentid,conversationid from session as S
inner join 
(
select agentid from session
group by agentid
having count(*)=1
) T
on S.agentid=T.agentid 

关于Mysql 自连接用于独特的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51321828/

相关文章:

c# - 在 openshift 上连接 mysql 服务器时出错

mysql - 表名或列名长度影响性能?

mysql - 如何忽略 mysqbl 列中的空格?

mysql - 如何在 MySQL Workbench 6.0 中创建新数据库?

mysql - 将行从旧表复制到新表时出现重复条目​​消息

php - Symfony 隐藏限制左连接的结果数量

将 "safe-show-database"添加到 my.cnf 文件时,Mysqld 服务在启动时挂起

指定文本中的 MySQL 搜索列

mysql - 发送 10GB mysql 表到远程服务器

mysql - 在 MySQL 中搜索 "whole word match"