首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL,Group by one column with one distinct列

SQL,Group by one column with one distinct列
EN

Stack Overflow用户
提问于 2019-02-11 22:19:16
回答 3查看 517关注 0票数 0

我有一个表,结构如下

代码语言:javascript
运行
复制
id  phone_number  message    schedule_id
1 | 1212121212  | aaaaa |    12
2 | 2323232323  | bbbbb |    12
3 | 1212121212  | ccccc |    12
4 | 1212121212  | ddddd |    13

我想要获取具有相同phone_number和不同schedule_id的行,我使用以下查询来获取具有相同电话号码的行

代码语言:javascript
运行
复制
select * from message group by to_number having count(*)>1;

但是它也使用不同的schedule_id对行进行分组

有人能帮我写这个查询吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-11 22:21:27

您可以使用EXISTS

代码语言:javascript
运行
复制
select m.*
from message m
where exists (select 1 from message m1 where m1.to_number = m.to_number and m1.id <> m.id);

您也可以使用GROUP BY,只需将该列也包括在内:

代码语言:javascript
运行
复制
select to_number, schedule_id 
from message 
group by to_number, schedule_id 
having count(*) > 1;
票数 1
EN

Stack Overflow用户

发布于 2019-02-11 22:22:54

您应该对subqselect和count group by phone_number使用连接

代码语言:javascript
运行
复制
  select m.* 
  from  message m
  inner join (
        select phone_number
        from message 
        group by phone_number
        having count(*)>1;

  ) t on t.phone_number  = m.phone_number
票数 1
EN

Stack Overflow用户

发布于 2019-02-11 22:21:36

这就是你所期待的吗?

代码语言:javascript
运行
复制
select distinct phone_number, schedule_id from message;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54632562

复制
相关文章

相似问题

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