重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
oracle中sql不可以查询出某字段相同值最多的字段。涉及到业务逻辑筛选了。
专业从事网站制作、成都做网站,高端网站制作设计,小程序开发,网站推广的成都做网站的公司。优秀技术团队竭力真诚服务,采用HTML5建站+CSS3前端渲染技术,自适应网站建设,让网站在手机、平板、PC、微信下都能呈现。建站过程建立专项小组,与您实时在线互动,随时提供解决方案,畅聊想法和感受。
1、查询某字段的值,对比如果相同保存起来
2、继续查询,如果有相同值则继续保存
3、对比集合中的数,如果相同最多,把id取出来查询即可。
select * from
(select
a.*,
row_number() over (partition by a.col_a order by create_ts desc) as rn
from table1 a )
where rn = 1;
-- table1 换成你的表, col_a 换成你的分组列, create_ts 是你的时间戳字段, 如果是字符串需转换为date
方法 select name, count(name) from t group by name
having count(name)=
(select max(a.cou) from (select count(name) as cou from t group by name) a )