枕石i 2019-08-10 10:21 采纳率: 0%
浏览 2681

sql语句根据某列值怎么去重?

如图,这是我的表
需求:
查出所有city中最大的times_rank
图片说明

脚本:

create table day_video_city_access_topn_stat (
day varchar(8) not null,
cms_id bigint(10) not null,
city varchar(20) not null,
times bigint(10) not null,
times_rank int not null,
primary key (day, cms_id, city)
 );

想了半天最后只能做成这样
这是sql语句

   select  cms_id,city,times_rank from `day_video_city_access_topn_stat` 
    group by city,times_rank,cms_id
    order by city,`times_rank` desc

图片说明

需要怎么写才能只要每个省份的最大times_rank?

  • 写回答

4条回答 默认 最新

  • Json-Huang 2019-08-10 10:36
    关注

    用max(times_rank)试下,即:

       select  cms_id,city,max(times_rank) from `day_video_city_access_topn_stat` 
        group by city,cms_id
        order by city,`times_rank` desc
    
    评论

报告相同问题?

悬赏问题

  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题