首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL查询返回重复行

问MySQL查询返回重复行
EN

Stack Overflow用户
提问于 2016-01-19 21:15:46
回答 2查看 375关注 0票数 5

我有一张像下面这样的mytable桌;

代码语言:javascript
复制
╔═════════╦══════╦═════╗
║ product ║ tag  ║ lot ║
╠═════════╬══════╬═════╣
║ 1111    ║ 101  ║ 2   ║ 
║ 1111    ║ 102  ║ 5   ║ 
║ 2222    ║ 103  ║ 6   ║ 
║ 3333    ║ 104  ║ 2   ║  
║ 4444    ║ 101  ║ 2   ║ 
║ 5555    ║ 101  ║ 2   ║ 
║ 5555    ║ 102  ║ 5   ║ 
║ 6666    ║ 102  ║ 2   ║ 
║ 6666    ║ 103  ║ 5   ║
║ 7777    ║ 101  ║ 2   ║ 
║ 7777    ║ 102  ║ 5   ║ 
║ 7777    ║ 103  ║ 6   ║ 
║ 8888    ║ 101  ║ 1   ║ 
║ 8888    ║ 102  ║ 3   ║ 
║ 8888    ║ 103  ║ 5   ║ 
║ 9999    ║ 101  ║ 6   ║ 
║ 9999    ║ 102  ║ 8   ║
╚═════════╩══════╩═════╝

我有输入101,102。我想要的输出像;

代码语言:javascript
复制
2,5
6,8

我有一个疑问,好像;

代码语言:javascript
复制
select group_concat(lot order by lot)
from `mytable`
group by product
having group_concat(tag order by tag) = '101,102';

它回来了;

代码语言:javascript
复制
2,5
2,5
6,8

我只想要一个,而不是两个2,5,避免重复的行。我该怎么做?

这是小提琴http://sqlfiddle.com/#!9/7a78bb/1/0

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-19 21:21:10

如果你想要distinct

代码语言:javascript
复制
select distinct group_concat(lot order by lot)
from `mytable`
group by product
having group_concat(tag order by tag) = '101,102';
票数 7
EN

Stack Overflow用户

发布于 2016-05-26 06:14:22

您只需要使用DISTINCT来消除重复项

代码语言:javascript
复制
select DISTINCT group_concat(lot order by lot)
from `mytable`
group by product
having group_concat(tag order by tag) = '101,102';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34887053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档