首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在mysql中找到string类型的列的模式?

如何在mysql中找到string类型的列的模式?
EN

Stack Overflow用户
提问于 2020-05-02 18:05:47
回答 1查看 36关注 0票数 0

我有一个包含2列的表,user_id和connection_type。这两个字段不是唯一的。单个用户id可以多次出现,单个连接类型可以多次出现。如何针对每个user_id找到重复次数最多的connection_type?

我有一张表:

代码语言:javascript
复制
schema: 
user_id -- INT 
connection_type -- STRING

user_id connection_type 
101     4g 
102     3g 
101     4g 
101     2g 
102     2g 
101     4g 
102     4g 
101     4g 
102     4g 
101     4g
102     3g
102     3g
102     3g

我需要上面的表格:

代码语言:javascript
复制
user_id mode 
101     4g
102     3g
EN

回答 1

Stack Overflow用户

发布于 2020-05-02 18:13:41

您可以使用窗口函数:

代码语言:javascript
复制
select user_id, connection_type as mode
from (select user_id, connection_type, 
             dense_rank() over (partition by user_id order by count(*) desc) as seq
      from table t
      group by user_id, connection_type
     ) t
where seq = 1;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61557575

复制
相关文章

相似问题

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